我的数据框看起来像
Out[229]:
Value
id date
1 1945-11-01 148
1945-11-02 150
1945-11-06 132
1945-11-07 132
1945-12-06 166
1945-12-07 179
1945-12-08 182
1945-12-09 174
1945-12-10 159
我正在尝试像
这样的事情by_month = df.groupby(['id', lambda x: x.month])
首先按ID分组我的数据集,然后按月分组以进行进一步处理,并获得以下内容:
Value
id date
1 11 148
1 11 150
1 11 132
1 11 132
1 12 166
1 12 179
1 12 182
1 12 174
1 12 159
我不知道为什么我会
KeyError: u'no item named id'
虽然df.index.names
输出FrozenList([u'id', u'date'])
。
任何提示?
答案 0 :(得分:1)
这不是访问MultiIndex
的权利,这应该是正确的:
df.groupby(by=[df.index.get_level_values(0),
pd.to_datetime(df.index.get_level_values(1)).month])
#omit pd.to_datetime if already done so.