如何在Pandas的groupby之后计算组内某个值

7
假设我有一个pandas数据框架:
a   b   c  d  .... z
1   10  3  .
1   20  4  .
2   30  5  .
3   40  6  .
3   50  7  .  ....  .

我想生成一个数据框(DataFrame):

a    *not sure how to refer to this column?*
1   (10+20)/(3+4)  
2   30/5
3   (40+50)/(6+7)

我该怎么做呢?还有,如何引用所创建的列?
我已经尝试过`df.groupby('a')`,但是不知道如何在pandas中编写我想要的内容。
1个回答

12

试试这个:

In [216]: df.groupby('a').apply(lambda x: x['b'].sum()/x['c'].sum())
Out[216]:
a
1    4.285714
2    6.000000
3    6.923077
dtype: float64

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接