循环访问分组数据框中的组

问题描述

df.groupby返回2元组的列表:索引和组。您可以像这样遍历每个组:

for _, g in frame.groupby(frame.index):
    .... # do something with `g`

但是,如果要对组执行某些操作,则可能有比迭代更好的方法

解决方法

考虑这个小例子:

data={"X":[1,2,3,4,5],"Y":[6,7,8,9,10],"Z": [11,12,13,14,15])
frame=pd.DataFrame(data,columns=["X","Y","Z"],index=["A","A","B","B"])

我想frame

grouped=frame.groupby(frame.index)

然后我想通过以下方式遍历这些组:

for group in grouped:

但是,我坚持下一步:如何将group每个循环中的in提取为pandas DataFrame,以便对其进行进一步处理?