如何在熊猫中将int64转换为日期时间

时间:2018-07-26 17:01:57

标签: python pandas datetime

我有一个pandas数据框,它的列类型为int64,但此列会重新设置日期,例如20180501.我想将此列转换为日期时间,并且具有以下代码,但它返回错误消息

 df['new_date'] = pd.to_datetime(df['old_date'].astype('str'), format = '%y%m%d')

我收到以下错误消息

ValueError: unconverted data remains: 0501

如何修复我的代码?

2 个答案:

答案 0 :(得分:4)

您需要使用大写字母Y。有关完整参考,请参见Python's strftime directives

df = pd.DataFrame({'old_date': [20180501, 20181230, 20181001]})

df['new_date'] = pd.to_datetime(df['old_date'].astype(str), format='%Y%m%d')

print(df)

   old_date   new_date
0  20180501 2018-05-01
1  20181230 2018-12-30
2  20181001 2018-10-01

答案 1 :(得分:0)

问题可能是由于数据帧中某些位置的格式错误引起的。

您可以尝试设置参数errors =“ =” coerce“以避免转换这些条目并将其设置为NaT。

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_datetime.html