嵌套For循环访问MultiIndex Pandas Dataframe

时间:2016-10-15 08:34:03

标签: python pandas dataframe

我有一个包含3个MultiIndex级别的Dataframe。它们是“类别”,“品牌”和“邮政编码”。 Dataframe中有一个系列(“Sales”)。我想循环“类别”和“品牌”索引级别,并提供一个Dataframe,其中“Zip Code”作为索引,“Sales”作为一个系列。

当我只有两个多指数级别时,我使用了groupby,例如

for name, group in df.groupby(level = 0):

我很难看到如何迭代下一个索引级别。

1 个答案:

答案 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')

希望有所帮助。