我有这个数据帧:
print(data)
date time month
0 2017-01-10 00:00:00 Jan
1 2017-01-17 00:00:00 Jan
2 2017-01-24 00:00:00 Jan
3 2017-01-31 00:00:00 Jan
4 2017-02-07 00:00:00 Feb
.. ... ... ...
220 2021-04-27 00:00:00 Apr
221 2021-05-03 00:00:00 May
222 2021-05-10 00:00:00 May
223 2021-05-17 00:00:00 May
224 2021-05-25 00:00:00 May
如何添加与季节相对应的新列?即分类值Winter
、Spring
、Summer
、Fall
,因此我的新数据帧如下所示:
print(data)
date time month season
0 2017-01-10 00:00:00 Jan winter
1 2017-01-17 00:00:00 Jan winter
2 2017-01-24 00:00:00 Jan winter
3 2017-01-31 00:00:00 Jan winter
4 2017-02-07 00:00:00 Feb winter
.. ... ... ...
220 2021-04-27 00:00:00 Apr spring
221 2021-05-03 00:00:00 May spring
222 2021-05-10 00:00:00 May spring
223 2021-05-17 00:00:00 May spring
224 2021-05-25 00:00:00 May spring
只需创建一个字典映射,然后使用apply
,如此-
season_dict = {'January': 'Winter',
'February': 'Winter',
'March': 'Spring',
'April': 'Spring',
'May': 'Spring',
'June': 'Summer',
'July': 'Summer',
'August': 'Summer',
'September': 'Fall',
'October': 'Fall',
'November': 'Fall',
'December': 'Winter'}
df['Season'] = df['Month'].apply(lambda x: season_dict[x])