【问题标题】:Python Pandas For loopPython Pandas For 循环
【发布时间】:2017-07-19 22:10:43
【问题描述】:

我正在尝试在我的数据框中创建一个列,它将代表另一列中的某些类别计算值。

假设,我有一个 X 列,其中包含不同类型的材料,并且每种类型都有一个价格。现在,我想添加一个列,基于每个组以及材料列,说明该特定类型材料的中位数。

列就像材料|价格|中位数价格

帮助我生成列中位数价格。

Material,Prices,Median _Prices
a,12,12.5 
a,13,12.5
b,34,34
b,565,34
b,8,34
c,87,66
c,66,66
c,7,66

【问题讨论】:

    标签: python pandas for-loop apply


    【解决方案1】:

    不需要循环来执行此操作。让我们使用groupbytransform

    df['Median_Prices_Calc'] = df.groupby('Material')['Prices'].transform('median')
    

    输出:

      Material  Prices  Median_Prices  Median_Prices_Calc
    0        a      12           12.5                12.5
    1        a      13           12.5                12.5
    2        b      34           34.0                34.0
    3        b     565           34.0                34.0
    4        b       8           34.0                34.0
    5        c      87           66.0                66.0
    6        c      66           66.0                66.0
    7        c       7           66.0                66.0
    

    【讨论】:

      猜你喜欢
      • 2020-03-16
      • 2021-05-26
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 2020-09-25
      相关资源
      最近更新 更多