如何在 Python 中仅使用年和月将浮点列转换为日期时间?

Mar*_*ira 3 python to-date pandas

我有一个这样的 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
Run Code Online (Sandbox Code Playgroud)

我想将其转换为日期格式%Y%m

应用代码,

df['DATA'] = pd.to_datetime(df['DATA'], format='%Y.%m')
Run Code Online (Sandbox Code Playgroud)

我明白了,

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]
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

Ian*_*anS 6

先转换成字符串:

df['DATA'] = pd.to_datetime(df['DATA'].map('{:.2f}'.format), format='%Y.%m')
Run Code Online (Sandbox Code Playgroud)

事实上,pd.to_datetime考虑到浮点值是自 1970 年以来的毫秒数。