Groupby循环遍历,在同一循环中对第二个数据帧进行分组

时间:2017-08-21 14:36:57

标签: pandas loops group-by

考虑这个相同的小例子作为最近帖子的后续行动:

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

我想用“

”对“frame1”进行分组
grouped_frame1=frame1.groupby(frame1.index)

现在我想通过以下方式遍历群组:

for name,group in grouped_frame1:
     ...

但是,我有第二个数据帧

mean={"X":[21, 22, 23, 24, 25], "Y":[26, 27, 28, 29, 30], "Z": [31, 32, 33, 34, 35])
frame2=pd.DataFrame(data,columns=["X","Y","Z"],index=["A","A","A","B","B"])

我也希望在上面的for循环中在frame1中的组之后拆分成组,因为存在相同的组(大小,索引)。如何在“grouped_frame1”-loop?

中对frame2-groups进行子集和使用

1 个答案:

答案 0 :(得分:1)

由于索引相同,您可以这样做:

grouped = frame1.groupby(frame1.index)
for name,group in grouped
     print(group)
     print(frame2.loc[frame2.index == name])