首页 > 解决方案 > 将年份和月份名称转换为 pandas 数据框的日期时间列

问题描述

如何将此数据框的年份和月份名称转换为日期时间列:

 region  year    Months
0  alabama  2018   January
1  alabama  2018  February
2  alabama  2018     March
3  alabama  2018     April
4  alabama  2018       May

当我这样做时:

pd.to_datetime(df_sub['year'] * 10000 + df_sub['Months'] * 100, format='%Y%m')

我收到此错误:

*** TypeError: unsupported operand type(s) for +: 'int' and 'str'

标签: pythonpandas

解决方案


您可以通过http://strftime.org/将列转换year为字符串,添加Months和使用参数:formatto_datetime

print (pd.to_datetime(df_sub['year'].astype(str)  + df_sub['Months'], format='%Y%B'))
0   2018-01-01
1   2018-02-01
2   2018-03-01
3   2018-04-01
4   2018-05-01
dtype: datetime64[ns]

推荐阅读