从一个现有的已排序的pandas数据帧组中提取数据帧?

时间:2017-02-15 08:00:23

标签: python pandas

标题可能不太清楚,但我想使用排序的pandas数据框做这样的事情:

假设数据框是这样的:

name    amount

abc     25

abc     45

xyz     20

xyz     50

xyz     55

现在我要做的是按名称对这个数据框进行分组。

然后逐个遍历这些组,并对它们进行一些处理。

那是第一次循环我想将组abc存储到另一个中间数据帧进程中,依此类推:

所以在循环时:

这是第一次迭代:

中间数据框应该

name amount

abc 25

abc 45

然后下一次迭代:

中间数据框应该

name amount

xyz 20

xyz 50

xyz 55

所以,我想这样做。我不知道该怎么做。

1 个答案:

答案 0 :(得分:3)

如果需要循环DataFrameGroupBy对象:

for idx, df in df.groupby('name'):
    print (df)
  name  amount
0  abc      25
1  abc      45
  name  amount
2  xyz      20
3  xyz      50
4  xyz      55

如果需要进行某些处理,请groupby使用apply

def f(x):
    print (x)

df = df.groupby('name').apply(f)
print (df)

同时检查flexible apply in docs