Python 如何均匀化数据框列中的日期类型?
我的数据框中有一个日期列,它有两种不同类型的日期(YYYY-DD-MM 00:00:00和YYYY-DD-MM): (复制上一个数据帧后,可以使用pd.read_剪贴板(sep='\s\s+')将其放入笔记本中) 我只想要YYYY-MM-DD类型。因此,我希望:Python 如何均匀化数据框列中的日期类型?,python,pandas,date,Python,Pandas,Date,我的数据框中有一个日期列,它有两种不同类型的日期(YYYY-DD-MM 00:00:00和YYYY-DD-MM): (复制上一个数据帧后,可以使用pd.read_剪贴板(sep='\s\s+')将其放入笔记本中) 我只想要YYYY-MM-DD类型。因此,我希望: Date 0 2023-10-01 1 2024-06-27 2 2022-04-07 3
Date
0 2023-10-01
1 2024-06-27
2 2022-04-07
3 NaN
4 2020-06-30
我该怎么办?与和格式一起使用参数:
df['Date'] = pd.to_datetime(df['Date'].str.replace(' 00:00:00',''), format='%Y-%d-%m')
print (df)
Date
0 2023-10-01
1 2024-06-27
2 2022-04-07
3 NaT
4 2020-06-30
另一个与两种格式匹配的想法:
d1 = pd.to_datetime(df['Date'], format='%Y-%d-%m', errors='coerce')
d2 = pd.to_datetime(df['Date'], format='%Y-%d-%m 00:00:00', errors='coerce')
df['Date'] = d1.fillna(d2)
d1 = pd.to_datetime(df['Date'], format='%Y-%d-%m', errors='coerce')
d2 = pd.to_datetime(df['Date'], format='%Y-%d-%m 00:00:00', errors='coerce')
df['Date'] = d1.fillna(d2)