You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3中用Pandas合并DataFrame同名同年度行并求和的方法

Python3中用Pandas按条件合并DataFrame行的方案

完全可以实现你的需求,通过筛选+分组聚合两步就能完成,具体操作如下:

步骤说明

  • 第一步:从原DataFrame中筛选出所有Names为"Steve"的记录
  • 第二步:按Year和Names分组,对Counts列进行求和合并
  • 第三步:重置索引并调整列顺序,匹配示例输出格式

完整代码示例

假设你的DataFrame变量名为df,执行以下代码:

import pandas as pd

# 筛选出名称为Steve的记录
steve_records = df[df['Names'] == 'Steve']

# 按年份和名称分组,对Counts求和合并
merged_result = steve_records.groupby(['Year', 'Names'], as_index=False)['Counts'].sum()

# 调整列顺序以匹配示例输出
merged_result = merged_result[['Names', 'Counts', 'Year']]

代码细节解释

  • df[df['Names'] == 'Steve']:通过布尔索引精准筛选目标记录
  • groupby(['Year', 'Names'], as_index=False):指定分组维度,as_index=False避免将分组列转为索引
  • ['Counts'].sum():对同组内的Counts值求和,实现行合并
  • 最后调整列顺序是为了和你给出的示例输出结构完全一致

示例输出

执行后得到的结果格式如下:

Names       Counts  Year
0            Steve         237  2000
1            Steve         400  2001
2            Steve          35  2002
...           ...         ...   ...
15           Steve          26  2015

内容的提问来源于stack exchange,提问作者Rashid Abramov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:35:21