Python 将具有月份名称的DataFrame列转换为datetime

Python 将具有月份名称的DataFrame列转换为datetime,python,pandas,datetime,Python,Pandas,Datetime,加拿大就业月数 204571年1月1日 204634年2月2日 1956年3月3日 1783年4月4日 179142年5月5日 1973年6月6日85 204248年7月7日您至少需要添加年份才能转换为日期时间 df['Months'] = pd.to_datetime('2020' + df.Months, format='%Y%B') Out[26]: 1 2020-01-01 2 2020-02-01 3 2020-03-01 4 2020-04-01 5 2020-

加拿大就业月数
204571年1月1日
204634年2月2日
1956年3月3日
1783年4月4日
179142年5月5日
1973年6月6日85

204248年7月7日
您至少需要添加年份才能转换为日期时间

df['Months'] = pd.to_datetime('2020' + df.Months, format='%Y%B')
Out[26]: 
1   2020-01-01
2   2020-02-01
3   2020-03-01
4   2020-04-01
5   2020-05-01
6   2020-06-01
7   2020-07-01
Name: Months, dtype: datetime64[ns]

请注意,datetime数据类型不允许只包含月份。如果您不指定默认的年/日/时,将添加它。如果您只想将月份名称转换为要使用的数字,您可以使用
pd.to_datetime(df['Months',format='%B').dt.month
。从技术上讲,您不必明确指定年份(请参阅我对该问题的评论);只是默认的1900年似乎有点…古老;-)