我有一个日期集,其中日期列(仅“年和月”)为float64,月份以年份的分数表示(例如2012年6月显示为2012.6)。
能不能建议我将其转换为月份和日期格式(6-2012、7-2012等)?
谢谢!
我认为解决方案是使用to_datetime,但到目前为止,我还无法正确转换日期
答案 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()应用于转换为字符串类型的列中的每个值。
希望有帮助。