python - Python Pandas 根据列添加重复值
问题描述
我有一个带有重复项的数据框,我想根据其他两列的重复项对列的值求和,如下图所示。我可以遍历 A 列和 B 列的集合,然后每次求和,但可能有更有效的方法来做到这一点。
#To create the example dataframe
df1 = pd.DataFrame({'A': ['Spain', 'France','Spain','France','France','France','Spain',], 'B': ['Meat', 'Meat','Meat','Drink','Meat','Drink','Drink'], 'C': ['10','20','30','10','20','30','10']})
任何帮助,将不胜感激。
解决方案
尝试:
df1["C"] = df1["C"].astype(int)
print(df1.groupby(["A", "B"], as_index=False).sum())
印刷:
A B C
0 France Drink 40
1 France Meat 40
2 Spain Drink 10
3 Spain Meat 40
df1
用过的:
A B C
0 Spain Meat 10
1 France Meat 20
2 Spain Meat 30
3 France Drink 10
4 France Meat 20
5 France Drink 30
6 Spain Drink 10
推荐阅读
- c++ - 为什么我将分钟转换为天小时和分钟的公式返回不正确的结果,我该如何解决?
- c# - Appium - 检查元素是否存在
- agora.io - Agora 是否支持 Safari 屏幕共享?
- devops - 从 Github 提取周期时间
- numpy - LSTM 训练误差非常高且相对不变
- openid-connect - 在 OIDC 中,授权码和授权令牌有什么区别?
- python - 为什么我在 python 上的全局声明之前得到“变量分配”
- datetime - 绘图仪只绘制时间,而不是日期
- django - social-auth-app-django 如何与 jinja2 一起工作?
- php - php 变量 - 将变量传递到另一个 php 页面的最佳方式