使用 MultiIndex 迭代 DataFrame
给定以下 DataFrame:
In [11]: df = pd.DataFrame({'a':[1,1,1,2,2,3],'b':[4,4,5,5,6,7,],'c':[10,11,12,13,14,15]})
In [12]: df.set_index(['a','b'], inplace=True)
In [13]: df
Out[13]:
c
a b
1 4 10
4 11
5 12
2 5 13
6 14
3 7 15
你可以按 MultiIndex 的任何级别进行迭代。例如,level=0
(你也可以按名称选择级别,例如 level='a'
):
In[21]: for idx, data in df.groupby(level=0):
print('---')
print(data) c
a b
1 4 10
4 11
5 12 c
a b
2 5 13
6 14 c
a b
3 7 15
你还可以按名称选择级别,例如`level =‘b’:
In[22]: for idx, data in df.groupby(level='b'):
print('---')
print(data)
---
c
a b
1 4 10
4 11 c
a b
1 5 12
2 5 13 c
a b
2 6 14 c
a b
3 7 15