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

如何用更简洁的Pandas方法计算两列组和的最大值?

简洁实现方法

你可以直接跳过临时列的创建,用以下几种方式一行完成需求:

方法1:使用pandas的maximum函数

直接计算两组列的和,再取对应行的最大值:

import pandas as pd
df = pd.DataFrame(data={'text': ['a','b','c'], 'a':[1,2,3],'b':[2,3,4],'c':[5,4,2],'d':[-2,4,1]})

df['maxsum'] = pd.maximum(df[['a','b']].sum(axis=1), df[['c','d']].sum(axis=1))

方法2:直接列运算+numpy的maximum

如果习惯直接列相加,用numpy的maximum可以快速取对应元素的最大值:

import numpy as np
import pandas as pd
df = pd.DataFrame(data={'text': ['a','b','c'], 'a':[1,2,3],'b':[2,3,4],'c':[5,4,2],'d':[-2,4,1]})

df['maxsum'] = np.maximum(df['a'] + df['b'], df['c'] + df['d'])

方法3:合并求和结果后取最大值

把两组求和结果构造成临时DataFrame,再跨行取最大值:

import pandas as pd
df = pd.DataFrame(data={'text': ['a','b','c'], 'a':[1,2,3],'b':[2,3,4],'c':[5,4,2],'d':[-2,4,1]})

df['maxsum'] = pd.DataFrame([df['a']+df['b'], df['c']+df['d']]).max(axis=0)

这些方法都不需要额外创建sum1、sum2中间列,代码更紧凑,同时能得到和你原来代码完全一致的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:35:19