将日期从float64转换为年和月的格式

时间:2019-09-23 19:41:55

标签: python pandas datetime

我有一个日期集,其中日期列(仅“年和月”)为float64,月份以年份的分数表示(例如2012年6月显示为2012.6)。

能不能建议我将其转换为月份和日期格式(6-2012、7-2012等)?

谢谢!

我认为解决方案是使用to_datetime,但到目前为止,我还无法正确转换日期

2 个答案:

答案 0 :(得分:0)

IIUC,您可以这样做:

pd.to_datetime(pd.Series([2012.6]).astype(str), format='%Y.%m')

输出:

0   2012-06-01
dtype: datetime64[ns]

答案 1 :(得分:0)

尝试一下:

import pandas as pd

dataframe = pd.DataFrame([[2019.1, 2018.2], [2017.3, 2018.4]], columns = ["a", "b"])

        0       1
0  2019.1  2018.2
1  2017.3  2018.4

dataframe[a] = dataframe[a].apply(lambda x: pd.to_datetime(str(x)))

dataframe[a]

0   2019-01-01
1   2017-03-01

Name: a, dtype: datetime64[ns]

这是在将函数pd.to_datetime()应用于转换为字符串类型的列中的每个值。

希望有帮助。