2
私は時間単位の周波数を持つdatetimeインデックス付きデータフレームを持っています。私はgroupbyオブジェクトを生成したいと思います - シーズンごとにグループ化します。季節ごとに春は3ヶ月、4ヶ月、5ヶ月、6時間、7時間、8時間などです。私は毎年のシーズンの組み合わせのためのユニークなグループを持っていたいと思います。カスタムDateOffsetでこれを行う方法はありますか?それを行うにはサブクラスが必要でしょうか?または、シーズンの列を作成してから、次のようにしてください。grouper = df.groupby([df['season'], df.index.year])
Python Pandas:季節のDateOffsetオブジェクトを作成していますか?
現在のコードは醜いです:
def group_season(df):
"""
This uses the meteorological seasons
"""
df['month'] = df.index.month
spring = df['month'].isin([3,4,5])
spring[spring] = 'spring'
summer = df['month'].isin([6,7,8])
summer[summer] = 'summer'
fall = df['month'].isin([9,10,11])
fall[fall] = 'fall'
winter = df['month'].isin([12,1,2])
winter[winter] = 'winter'
df['season'] = pd.concat([winter[winter != False], spring[spring != False],\
fall[fall != False], summer[summer != False]], axis=0)
return df.groupby([df['season'], df.index.year])