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

Pandas如何对列名以_col结尾的DataFrame列逐行求和

实现方法

pandas 提供了非常便捷的列筛选+行求和组合方案,不需要手动枚举所有符合条件的列,后续新增符合命名规则的列时也会自动纳入计算。


基础实现(简单场景)

如果你的表中不存在列名中间包含_col的特殊情况,可以直接用filter的like参数模糊匹配包含_col的列,再沿行方向求和即可:

import pandas as pd
d = {'1_col': [1, 2], '2_col': [3, 4], 'var1': [5,6]}
df = pd.DataFrame(data=d)

# 筛选目标列并逐行求和,赋值给新列sum
df['sum'] = df.filter(like='_col', axis=1).sum(axis=1)
print(df)

运行输出完全符合预期:

1_col  2_col  var1  sum
0      1      3     5    4
1      2      4     6    6

严谨匹配场景(推荐)

如果你的表中可能存在列名中间包含_col、但不是以_col结尾的列(比如列名a_col_b),建议用严格后缀匹配的方式避免误算,两种写法任选即可:

  1. filter正则匹配:
    # 正则中$代表字符串结尾,仅匹配列名以_col结尾的列
    df['sum'] = df.filter(regex='_col$', axis=1).sum(axis=1)
    
  2. 原生字符串判断:
    # 直接调用字符串endswith方法判断列名后缀
    df['sum'] = df[[col for col in df.columns if col.endswith('_col')]].sum(axis=1)
    

以上所有写法都不需要手动指定具体列名,只要列名符合后缀规则就会自动被纳入求和范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.14 16:15:48