给定下面的列:
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