如何在 Python 中将浮点列转换为只有年份和月份的日期时间?
How to convert a float column to datetime with only year and month in Python?
我有这样一个 DATE 列,
DATE CÓDIGO ... UNIDADE VALOR
0 2009.06 10000.0 ... NaN NaN
1 2009.06 10100.0 ... NÃO SE APLICA .
2 2009.06 10101.0 ... M2 0.46
3 2009.06 10102.0 ... UN 15.15
我想将其转换为日期格式 %Y%m
。
正在应用代码,
df['DATA'] = pd.to_datetime(df['DATA'], format='%Y.%m')
我明白了,
0 1970-01-01 00:00:00.000002009
1 1970-01-01 00:00:00.000002009
2 1970-01-01 00:00:00.000002009
3 1970-01-01 00:00:00.000002009
4 1970-01-01 00:00:00.000002009
Name: DATA, dtype: datetime64[ns]
感谢您的帮助!
添加astype(str)
pd.to_datetime(df['DATE'].astype(str), format='%Y.%m')
Out[710]:
0 2009-06-01
1 2009-06-01
2 2009-06-01
3 2009-06-01
Name: DATE, dtype: datetime64[ns]
先转换为字符串:
df['DATA'] = pd.to_datetime(df['DATA'].map('{:.2f}'.format), format='%Y.%m')
实际上,pd.to_datetime
认为浮点值是自 1970 年以来的毫秒数。
我有这样一个 DATE 列,
DATE CÓDIGO ... UNIDADE VALOR
0 2009.06 10000.0 ... NaN NaN
1 2009.06 10100.0 ... NÃO SE APLICA .
2 2009.06 10101.0 ... M2 0.46
3 2009.06 10102.0 ... UN 15.15
我想将其转换为日期格式 %Y%m
。
正在应用代码,
df['DATA'] = pd.to_datetime(df['DATA'], format='%Y.%m')
我明白了,
0 1970-01-01 00:00:00.000002009
1 1970-01-01 00:00:00.000002009
2 1970-01-01 00:00:00.000002009
3 1970-01-01 00:00:00.000002009
4 1970-01-01 00:00:00.000002009
Name: DATA, dtype: datetime64[ns]
感谢您的帮助!
添加astype(str)
pd.to_datetime(df['DATE'].astype(str), format='%Y.%m')
Out[710]:
0 2009-06-01
1 2009-06-01
2 2009-06-01
3 2009-06-01
Name: DATE, dtype: datetime64[ns]
先转换为字符串:
df['DATA'] = pd.to_datetime(df['DATA'].map('{:.2f}'.format), format='%Y.%m')
实际上,pd.to_datetime
认为浮点值是自 1970 年以来的毫秒数。