【问题标题】:How to calculate average of values in a Python Pandas Data Frame?如何计算 Python Pandas 数据框中的平均值?
【发布时间】:2020-08-26 10:33:21
【问题描述】:

我的 Python Pandas 数据框有 2 列分别表示薪水(金额)和接受该特定薪水的员工总数(员工)(10 名员工获得 300 美元,20 名员工获得 200 美元,30 名员工获得 100 美元)。我应该计算所有员工的平均工资。有没有办法做到这一点?我对 Python Pandas 还很陌生,所以任何帮助都将不胜感激!提前致谢。

   Amount  Staff
0     100     30
1     200     20
2     300     10  

【问题讨论】:

    标签: python pandas dataframe average


    【解决方案1】:

    正如你所描述的那样 - 没有特殊技术。

    df = pd.read_csv(io.StringIO("""   Amount  Staff
    0     100     30
    1     200     20
    2     300     10"""), sep="\s+")
    
    (df["Amount"] * df["Staff"]).sum() / df["Staff"].sum()
    

    输出

    166.66666666666666
    

    【讨论】:

      【解决方案2】:

      我认为您可以按定义使用mean - sum / counts:

      s = df.assign(Amount = df["Amount"].mul(df["Staff"])).sum()
      print (s)
      Amount    10000
      Staff        60
      dtype: int64
      
      print (s.Amount / s.Staff)
      166.66666666666666
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-01
        • 1970-01-01
        • 2017-09-24
        • 2016-02-12
        • 2022-01-07
        • 2017-02-16
        • 2022-08-23
        相关资源
        最近更新 更多