【发布时间】:2021-01-06 07:13:52
【问题描述】:
我在 pandas 中有两个日期列的数据框:
>>>ID name start end
0 12 Tik 1/6/2020 None
1 32 Tak 12/31/2019 None
2 45 Tek 9/1/2019 1/30/2020
3 78 Tok 9/1/2019 1/29/2020
我正在尝试将这些日期转换为日期时间以采用 Y-m-d 格式,例如 2019 年 12 月 31 日将是 2019 年 12 月 31 日:
df[['start','end']] =df[['start','end']].apply(pd.to_datetime, format=''%Y-%m-%d'')
但每当我运行它时,我都会收到错误:
ValueError:时间数据 2020 年 1 月 6 日与指定的格式不匹配
我尝试过指定格式类似于给定日期(例如(d-m-Y):
df[['start','end']] =df[['start','end']].apply(pd.to_datetime, format=''%d-%m-%Y'')
>>>ValueError: time data '1/6/2020' does not match format '%d-%m-%Y' (match)
我已尝试按照此处第一个答案中的建议进行破解:How to change the datetime format in pandas 并首先转换为 datetime 然后使用 strftime 但在第一行中我得到了需要指定格式的错误。
我找不到发生这种情况的任何原因,可能是因为日期和月份没有两位数?
我的最终目标是将这些日期列转换为 %Y-%m-%d 格式
【问题讨论】: