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

Pandas:按指定标识合并Fee行至匹配行并求和

数据处理方案:合并Fee行至匹配的非Fee行

需求说明

处理约20000行表格数据,执行以下操作:

  • 筛选所有Type='Fee'的行
  • 将这些Fee行的Total数值,累加至Week、Store、ID完全匹配且Type≠'Fee'的唯一行中,保留目标行的Type字段不变
  • 最终移除所有Fee行

示例规则验证

  • 输入中第3、8行(Type=Fee)的Total(13+885)累加至第1行,最终Total=200+13+885=1098
  • 第5行(Type=Fee)的Total(98)累加至第2行,最终Total=189+98=287
  • 第6行(Type=Fee)的Total(435)累加至第9行,最终Total=146+435=581
  • 无匹配Fee行的行,Total保持原值

输入表格

WeekStoreTypeIDTotal
15US1RE-GT3400200
15US4TOT656189
15US1FeeT340013
16US4RDT17315
15US4FeeT65698
16US4FeeT1121435
17US4TOT656189
15US1FeeT3400885
16US4MXT1121146

实现方案(Python Pandas)

针对2万行的数据量,用Pandas处理效率最优,步骤如下:

  1. 拆分非Fee行与Fee行
  2. 对Fee行按匹配键(Week/Store/ID)分组求和Total
  3. 将求和结果与非Fee行合并,累加Total字段
  4. 清理冗余列,输出最终结果

代码实现

import pandas as pd

# 读取数据(实际场景可替换为pd.read_csv或其他数据源)
data = pd.DataFrame([
    [15, 'US1', 'RE-G', 'T3400', 200],
    [15, 'US4', 'TO', 'T656', 189],
    [15, 'US1', 'Fee', 'T3400', 13],
    [16, 'US4', 'RD', 'T173', 15],
    [15, 'US4', 'Fee', 'T656', 98],
    [16, 'US4', 'Fee', 'T1121', 435],
    [17, 'US4', 'TO', 'T656', 189],
    [15, 'US1', 'Fee', 'T3400', 885],
    [16, 'US4', 'MX', 'T1121', 146]
], columns=['Week', 'Store', 'Type', 'ID', 'Total'])

# 拆分非Fee行和Fee行
non_fee_records = data[data['Type'] != 'Fee'].copy()
fee_records = data[data['Type'] == 'Fee'].copy()

# 按匹配维度分组,计算Fee行的Total总和
fee_total_summary = fee_records.groupby(['Week', 'Store', 'ID'], as_index=False)['Total'].sum()

# 合并非Fee行与Fee总和,累加Total
merged_data = pd.merge(
    non_fee_records,
    fee_total_summary,
    on=['Week', 'Store', 'ID'],
    how='left',
    suffixes=('', '_fee')
)
merged_data['Total'] = merged_data['Total'].fillna(0) + merged_data['Total_fee'].fillna(0)

# 整理结果,移除冗余列
final_result = merged_data.drop('Total_fee', axis=1)[['Week', 'Store', 'Type', 'ID', 'Total']]

# 输出结果(可替换为to_csv/to_excel保存)
print(final_result.to_markdown(index=False))

执行结果

WeekStoreTypeIDTotal
15US1RE-GT34001098
15US4TOT656287
16US4RDT17315
16US4MXT1121581
17US4TOT656189

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:30:59