我有一个包含3个MultiIndex级别的Dataframe。它们是“类别”,“品牌”和“邮政编码”。 Dataframe中有一个系列(“Sales”)。我想循环“类别”和“品牌”索引级别,并提供一个Dataframe,其中“Zip Code”作为索引,“Sales”作为一个系列。
当我只有两个多指数级别时,我使用了groupby
,例如
for name, group in df.groupby(level = 0):
我很难看到如何迭代下一个索引级别。
答案 0 :(得分:0)
不确定您希望如何对DataFrame进行分组,但我看到了2个选项。第一个选项将为您提供一个DataFrame,邮政编码作为索引排序,因为它们当前在MultiIndex中。第二个选项将邮政编码分组,使您只有唯一邮政编码的索引,销售数字可以与您想要的任何功能汇总。这些都可以通过以下两种方式实现:
1a)的
df = df.reset_index([0,1], drop=True)
1b)的
df.index = df.index.droplevel([0,1])
2a)的
df = df.reset_index([0,1], drop=True).groupby(by='Zip Code')
2b)
df.index = df.index.droplevel([0,1])
df = df.groupby(by='Zip Code')
希望有所帮助。