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

Python中pandas.DataFrame两列数值求和合并为单列的语法问题

问题原因

你编写的代码缺少agg()方法必填的聚合函数参数,仅指定了运算轴无法触发求和逻辑,因此得不到预期结果。

可行解决方案
  • 方法1:直接对两列做加法运算(最简洁,适合仅两列求和的场景)
    df['name'] = df['name1'] + df['name2']
    
    注意:该写法如果遇到列中存在空值,会返回空值,需要忽略空值求和建议选择方法2。
  • 方法2:补全agg方法的聚合函数参数(兼容你原有的写法,适合多列批量求和场景)
    df['name'] = df[['name1', 'name2']].agg('sum', axis=1)
    
  • 方法3:使用apply方法按行求和
    df['name'] = df[['name1', 'name2']].apply(lambda x: x['name1'] + x['name2'], axis=1)
    

如果需要得到和示例完全一致、删除原name1、name2列的结果,追加执行以下代码即可:

df = df.drop(columns=['name1', 'name2'])

完整可运行测试代码

import pandas as pd
# 构造示例数据
data = {
    'id': ['aa', 'bb', 'cc'],
    'name1': [1, 2, 0],
    'name2': [0, 2, 1],
    'status': ['y', 'n', 'y']
}
df = pd.DataFrame(data)
# 生成新列
df['name'] = df['name1'] + df['name2']
# 删除旧列
df = df.drop(columns=['name1', 'name2'])
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:54:02