【问题标题】:How to calculate a value inside a group after groupby pandas如何在groupby pandas之后计算组内的值
【发布时间】:2017-06-22 20:17:51
【问题描述】:

假设我有一个 pandas DataFrame:

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 中写出我想要的。

【问题讨论】:

    标签: python pandas group-by


    【解决方案1】:

    试试这个:

    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
    

    【讨论】:

      猜你喜欢
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 2021-07-25
      • 2021-12-29
      • 2022-07-26
      • 2022-12-20
      相关资源
      最近更新 更多