pandas dataframe中按某列相同值对对应行求和的实现方法
pandas按指定列分组求和实现方法
直接使用groupby分组聚合功能即可完成需求,具体代码如下:
- 导入依赖并构造示例数据
import pandas as pd # 示例数据,可替换为你实际的DataFrame df = pd.DataFrame({ "序号": [1,2,3,4], "A": [1,3,5,7], "B": [2,4,6,8], "C": [1,2,1,2] })
- 执行分组聚合操作
# 按C列分组,对A、B列求和,as_index=False避免C列变为索引 result = df.groupby("C", as_index=False)[["A", "B"]].sum() # 新增序号列,从1开始计数 result.insert(0, "序号", range(1, len(result)+1))
- 输出结果验证
运行后得到的result结构如下,完全符合需求:
| 序号 | A | B | C |
|---|---|---|---|
| 1 | 6 | 8 | 1 |
| 2 | 10 | 12 | 2 |
补充说明:如果你的原数据不需要保留原有序号列,也可以在分组前先删除多余列,避免不必要的计算。
内容的提问来源于stack exchange,提问作者ogb119
相关产品推荐
相关产品推荐

