Python 按季节分组熊猫数据帧

Python 按季节分组熊猫数据帧,python,python-2.7,pandas,Python,Python 2.7,Pandas,我试图按季节(旱季和雨季)对数据帧进行分组。我的旱季从11月到4月,雨季从5月到10月。我试着编写这个python脚本 def GroupFunc(x): return SeasonDict[x.month] SeasonDict={10:'Wet',11:'Dry',12:'Dry',1:'Dry',2:'Dry',3:'Dry',4:'Dry',5:'Wet',6:'Wet',7:'Wet',8:'Wet',9:'Wet'} obs_group=obs_data.groupby(

我试图按季节(旱季和雨季)对数据帧进行分组。我的旱季从11月到4月,雨季从5月到10月。我试着编写这个python脚本

 def GroupFunc(x):
   return SeasonDict[x.month]

SeasonDict={10:'Wet',11:'Dry',12:'Dry',1:'Dry',2:'Dry',3:'Dry',4:'Dry',5:'Wet',6:'Wet',7:'Wet',8:'Wet',9:'Wet'}

obs_group=obs_data.groupby(GroupFunc)
get_grp=obs_group.get_group('Dry')
现在我试图根据季节来计算总数

  dry_avg=(get_grp.groupby(get_grp.index.year).sum())
如果我按年份分组,我会错过一些旱季的月份。例如,如果我考虑2015年和2016年

2016年旱季降雨量之和应为以下月份之和:

 Nov-Dec (2015) + Jan-Apr (2016) = Dry season sum

我期待着分组解决这个问题的方法

您应该在数据框中添加一个额外的列,指示“水年”,并使用该列而不是日历年。感谢BrenBam的回复。但是你能解释一下我如何在数据框中添加水年吗?这是一个你必须根据你的数据自己回答的问题。想必您只需要一些逻辑,即“如果月份是11月或12月,则在日历年中添加1以获得水年,否则使用日历年”。但你必须决定2015年11月是“2015年水年”还是“2016年水年”。我试过这样做:dry_avg=(get_grp.groupby(get_grp.index.shift(-2,freq='m').year).sum()。我想我也从中得到了我所期望的BrenBarn