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

基于多条件合并指定DataFrame行并求和

解决方案

可以通过替换ID值 + 分组聚合两步实现需求,具体代码如下:

步骤1:准备示例数据(已有DataFrame可跳过)

import pandas as pd

data = {
    'ID': ['AAA', 'CCC', 'BBB', 'DDD', 'AAA', 'CCC'],
    'Date': ['2021-06-30', '2021-06-30', '2021-06-30', '2021-06-30', '2021-07-31', '2021-07-31'],
    'EoM_Val': [100, 200, 50, 10, 40, 100],
    'Val': [3, 2, 6, 7, 6, 2]
}
df = pd.DataFrame(data)

步骤2:替换并聚合

# 将ID列的AAA、CCC替换为XXX
df['ID'] = df['ID'].replace({'AAA': 'XXX', 'CCC': 'XXX'})

# 按ID和Date分组,对EoM_Val、Val列求和
result_df = df.groupby(['ID', 'Date'], as_index=False)[['EoM_Val', 'Val']].sum()

执行后result_df即为目标结构:

ID        Date  EoM_Val  Val
0  BBB  2021-06-30       50    6
1  DDD  2021-06-30       10    7
2  XXX  2021-06-30      300    5
3  XXX  2021-07-31      140    8

关键说明:

  • replace方法批量替换指定ID值,把AAA和CCC统一转为XXX
  • groupby(['ID', 'Date'])确保同一日期下的XXX行被合并求和,其他ID(如BBB、DDD)保持独立
  • as_index=False让分组后的ID和Date作为普通列,避免成为索引,保持和原DataFrame一致的结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:00:32