【问题标题】: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