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

如何在pandas中对同前缀不同日期后缀的列分组逐行求和

实现方案

直接使用pandas的列分组聚合即可,无需手动指定列名,自动适配任意数量的前缀组、任意列排序,执行效率很高。

步骤1:导入依赖包

import pandas as pd
import re

步骤2:定义列名前缀提取规则

根据你提到的「仅后缀为日期标识」的列名规则,通过正则移除列名末尾的日期后缀,得到分组用的基础列名:

def get_base_col(col_name):
    # 正则匹配末尾的_+yyyy-mm-dd格式日期及后续字符,可根据你实际的日期后缀格式调整正则规则
    return re.sub(r'_\d{4}-\d{2}-\d{2}.*$', '', col_name)

步骤3:按列分组求和

直接对列维度按提取的基础列名分组,按行求和即可得到结果:

# 假设你的原始DataFrame变量名为df
result = df.groupby(get_base_col, axis=1).sum()

效果验证

针对你给出的示例数据,执行后得到的result结构完全符合预期:

total_customer
15
20

补充说明

  • 如果有多个不同前缀的列组(比如同时存在total_customer、total_order等多组列),代码会自动对所有组分别求和,无需额外调整
  • 若你的日期后缀格式不是yyyy-mm-dd,只需修改get_base_col函数里的正则规则即可,比如后缀是8位数字日期的话,正则改为r'_\d{8}.*$'
  • 该方案对几百组列的处理效率极高,不会出现性能问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:57:04