将多个月缩写转换并重新格式化为整数



给定下面的列:

col 
0  NaN
1  Jan,Apr,Jul,Oct
2  Jan,Jun,Jul
3  Apr,May,Oct,Nov
4  NaN
...

如何将月缩写转换为月数(int)?用连字符代替逗号?输出应该如下所示:

col 
0  NaN
1  01-04-07-10
2  01-06-07
3  04-05-10-11
4  NaN
...

使用带有月份的字典Series.replace,必要时添加,以替换-:

d = {',':'-', 'Jan': '01', 'Feb': '02', 'Mar': '03', 'Apr': '04', 
'May': '05', 'Jun': '06', 'Jul': '07', 'Aug': '08', 
'Sep': '09', 'Oct': '10', 'Nov': '11', 'Dec': '12'}
df['col'] = df['col'].replace(d, regex=True)
print (df)
0          NaN
1  01-04-07-10
2     01-06-07
3  04-05-10-11
4          NaN

最新更新