【问题标题】:Pandas dataframe change date from int64 to date in datetimePandas 数据框将日期从 int64 更改为 datetime 中的日期
【发布时间】:2020-05-11 01:41:59
【问题描述】:

我有一个日期列类型为 int64 的数据框。我想将该列及其值转换为日期时间。

df['datdadat'] = pd.to_datetime(df['datadate'].astype('str'), errors='coerce')

如您所见,我的代码在遇到第二行时没有几个月/几天的前导零时失败。我已经尝试添加格式,但是当我添加它时,即使是第一个带有零的格式也会失败。

我的问题是如何在转换之前添加前导零,或者是否有一种在转换时添加格式的好方法? 提前谢谢

【问题讨论】:

  • 那么是 030184 还是 300184?不知道你真的能知道是日期还是月份少了前导0...
  • @ALollz: 300184 只有在这一天到来的时候才有意义。否则,月份将有两个前导零。
  • .astype('str') 没有意义;我首先怀疑 col 是str,因为你不能有整数030184。检查@NYCCoder 的建议,应该可以。

标签: python pandas date datetime int64


【解决方案1】:

试试这个:

df['datdadat'] = pd.to_datetime(df['datdadat'], format='%d%m%y')
print(df)

       datdadat
0 1984-01-30
1 1983-12-30

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-02-20
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 2018-11-23
相关资源
最近更新 更多