【发布时间】:2022-01-12 21:53:51
【问题描述】:
使用 Pandas:我有一个非常大的数据框,其中一列(从许多 .csv 和 .xlsx 文件导入)具有不同格式的混合日期。我设法统一了所有分隔符 /.- 但仍然无法将日期 YYYY/MM/DD 和 DD/MM/YYYY 统一为其中之一(与哪个不真正相关)。
我在一个非常大的 DataFrame 中有一个列:
Date
15-11-2021
2021-11-11
2021-11-20
19-11-2021
...
我需要:
Date
15-11-2021
11-11-2021
20-11-2021
19-11-2021
...
我尝试了旧问题的解决方案。 502726 和没有。 49435438 但没用
像这样:
datetime.datetime.strptime(df['Date'], "%d-%m-%Y").strftime("%Y-%m-%d")
但报错:AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
或者函数定义:
new_date_format='%Y-%m-%d'
old_date_format='%d-%m-%Y'
def conv_dates_series(df, col, old_date_format, new_date_format):
df[col] = pd.to_datetime(df[col], format=old_date_format).dt.strftime(new_date_format)
return df
但是当发现意外的正确格式时很快返回错误(可能 if/then 子句在这里会有所帮助,但我不知道如何与 to_datetime(format) 一起使用。
有什么想法吗?谢谢!
【问题讨论】: