我有一个带有MultiIndex(timestamp,dgg)的DataFrame,如下所示:
pd.TimeGrouper
时间戳持续很多天。我想按月和dgg对这些数据进行分组,但我不确定这是一个好方法。如果我按月使用具有正常索引的DataFrame进行分组,我可以df.reset_index(level='dgg').groupby(df.reset_index(level='dgg').index.month)
(或使用{{1}}),但MultiIndex没有DatetimeIndex属性。
只是把它扔到那里,如果我不在乎dgg,我可以{{1}},但后来我失去了dgg分组。
答案 0 :(得分:2)
假设您想要按月分组,而不是按月分组(例如,2012-03和2013-03属于同一组),您可以这样做:
dgg
,timestamp
成为常规列dgg
和month
分组。 看起来像这样:
result = (
df.reset_index()
.assign(month=lambda x: x['timestamp'].dt.month)
.grouby(by=['dgg', 'month'])
.<apply/agg/transform/filter>(...)
)