我有包含一列月份和年份作为字符串的数据框:
>>>time index value
January 2021 y 5
January 2021 v 8
May 2020 y 25
June 2020 Y 13
June 2020 x 11
June 2020 v 10
...
我想将“时间”列更改为日期时间格式,以便我可以按时间顺序对表格进行排序。
当时间是带有月份名称和数字的字符串时,有什么办法吗?
#编辑: 当我这样做时:
result_Table['time']=pd.to_datetime(result_Table['time'],format='%Y-%m-%d')
我收到错误:
<块引用>ValueError: 2021 年 1 月的时间数据与指定的格式不匹配
答案 0 :(得分:1)
示例数据框:
df=pd.DataFrame({'time':['January 2021','May 2020','June 2020']})
如果要指定格式参数,则应使用 '%B %Y'
而不是 '%Y-%m-%d'
:
df['time']=pd.to_datetime(df['time'],format='%B %Y')
#OR
#you can also simply use:
#df['time']=pd.to_datetime(df['time'])
df 的输出:
time
0 2021-01-01
1 2020-05-01
2 2020-06-01
有关格式代码的详细信息 visit here