如何解决如何计算Python Pandas数据框中的平均值?
我的Python Pandas数据框有2个列,分别是薪水(金额)和获得该特定薪水的员工总数(员工)(10名员工可获得300美元,20名员工可获得200美元,30名员工可获得100美元)。计算所有员工的平均工资。有什么办法吗?我是Python Pandas的新手,所以我们将不胜感激!预先感谢。
Amount Staff
0 100 30
1 200 20
2 300 10
解决方法
这与您所描述的完全一样-无需特殊技巧。
CREATE TABLE brand (
[id] INT,[brand] VARCHAR(13),[logo] VARCHAR(13)
);
INSERT INTO brand ([id],[brand],[logo])
VALUES ('1','samsung','logo.jpg');
CREATE TABLE products (
[id] INT,[name] VARCHAR(13),[catid] INT,[brandid] INT
);
INSERT INTO products ([id],[name],[catid],[brandid])
VALUES ('1','samsung tv','2','1'),('1','samsung2 tv','1')
SELECT b.Id,b.brand,b.logo,p.Id,COUNT(1) [total]
FROM brand b
INNER JOIN products p ON b.Id = p.brandId
GROUP BY b.Id,p.Id
输出
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()
,
我认为您可以使用mean
-总和/计数:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。