我有一个数据框,其日期以不同的格式存储在同一列中,如下所示:
date
1-10-2018
2-10-2018
3-Oct-2018
4-10-2018
无论如何,我都可以使它们具有相同的格式。
答案 0 :(得分:4)
将to_datetime
与errors='coerce'
一起指定formats,将不匹配的值替换为NaN
。最后的combine_first
用于用date2
系列替换缺失值。
date1 = pd.to_datetime(df['date'], format='%d-%m-%Y', errors='coerce')
date2 = pd.to_datetime(df['date'], format='%d-%b-%Y', errors='coerce')
df['date'] = date1.combine_first(date2)
print (df)
date
0 2018-10-01
1 2018-10-02
2 2018-10-03
3 2018-10-04