将 1OCT20 转换为日期时间 %d 月中的第几天,以零填充的十进制数表示%b 月份作为语言环境的缩写名称%y 没有世纪的年份,用零填充的十进制数表示

问题描述

我有一系列日期,但格式为“1OCT20”或“30MAR19”,如何将它们转换为日期时间?

提前致谢

解决方法

使用 pd.to_datetime 并将 format 参数设置为 %d%b%y

%d 月中的第几天,以零填充的十进制数表示。

%b 月份作为语言环境的缩写名称。

%y 没有世纪的年份,用零填充的十进制数表示。

我通常在查找特定日期时间格式时使用此 https://strftime.org/ 网站。

pd.to_datetime('1OCT20',format='%d%b%y')
Timestamp('2020-10-01 00:00:00')

pd.to_datetime('30MAR19',format='%d%b%y')
Timestamp('2019-03-30 00:00:00')

在您的数据集上,您可以将其直接投射到您的列上

df['trgdate'] = pd.to_datetime(df['srcdate'],format='%d%b%y')