在Python中,如何将float列转换为只有年和月的datetime?
我有一个这样的日期栏在Python中,如何将float列转换为只有年和月的datetime?,python,pandas,to-date,Python,Pandas,To 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
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)
首先转换为字符串:
df['DATA'] = pd.to_datetime(df['DATA'].map('{:.2f}'.format), format='%Y.%m')
实际上,
pd.to_datetime
认为自1970年以来浮点值为毫秒。我想到了这一点,但我认为控制字符串转换的格式更安全:)
df['DATA'] = pd.to_datetime(df['DATA'].map('{:.2f}'.format), format='%Y.%m')