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

求DataFrame三列最大值报错:The truth value of a Series is ambiguous

问题解决:DataFrame按行取多列最大值填充新列

错误原因

你用Python内置的max()函数处理Pandas的Series(比如df.loc[:,'TR0']这类列对象)时,该函数无法直接判断整个Series的布尔值,因此会抛出The truth value of a Series is ambiguous的错误。

正确代码

使用Pandas自带的max()方法,指定axis=1参数按行计算最大值即可:

df['TR'] = df[['TR0', 'TR1', 'TR2']].max(axis=1)

如果习惯用loc写法,也可以这样写:

df.loc[:, 'TR'] = df.loc[:, ['TR0', 'TR1', 'TR2']].max(axis=1)

效果验证

运行代码后,你的DataFrame会更新为:

TR0TR1TR2TR
3.252.190.153.25
3.000.143.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 22:51:59