匹配同一DataFrame中的相同元素,匹配成功时累加对应数值
需求说明
原始DataFrame包含重复的类别元素及对应数值列,需要将相同类别的数值累加,得到去重后每个类别对应总和的结果DataFrame。
实现方案(以Pandas为例)
假设原始数据结构如下:
| 类别 | 数值 |
|---|---|
| 苹果 | 10 |
| 香蕉 | 20 |
| 苹果 | 15 |
| 橙子 | 5 |
| 香蕉 | 10 |
期望得到的结果:
| 类别 | 数值 |
|---|---|
| 苹果 | 25 |
| 香蕉 | 30 |
| 橙子 | 5 |
可以通过Pandas的分组求和快速实现:
import pandas as pd # 替换为你的实际DataFrame df = pd.DataFrame({ '类别': ['苹果', '香蕉', '苹果', '橙子', '香蕉'], '数值': [10, 20, 15, 5, 10] }) # 按类别分组并累加数值 result_df = df.groupby('类别')['数值'].sum().reset_index() print(result_df)
关键说明
groupby('类别'):将DataFrame按指定列的相同元素分组['数值'].sum():对每个分组内的目标列求和reset_index():将分组后的索引转为普通列,保持标准DataFrame结构
如果有多个需要累加的列,直接对分组后的所有数值列求和即可:
result_df = df.groupby('类别').sum().reset_index()
内容的提问来源于stack exchange,提问作者Mimikyu o_0
相关产品推荐
相关产品推荐

