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

pandas计算列表列行最大值报max()空序列ValueError如何解决

问题原因

你调用的df['mapped value'].max()是pandas Series的全局聚合方法,作用是对整列的所有元素做比较返回最大值,不会逐行遍历列表计算内部元素的最大值。报错的直接原因是你的mapped value列中存在空列表,Python内置max函数传入空序列时就会抛出ValueError: max() arg is an empty sequence。

解决方案

使用Series的apply()方法逐行处理每个列表元素,同时增加空列表判断避免报错:

import numpy as np

# 定义逐行计算逻辑:空列表返回空值,非空列表返回列表内最大值
def calc_list_max(item):
    return max(item) if item else np.nan

df['new column'] = df['mapped value'].apply(calc_list_max)

如果你确认mapped value列不存在空列表,也可以直接简写为df['new column'] = df['mapped value'].apply(max)。

效果验证

针对你给出的示例数据,运行后输出完全符合预期:

  • 列表[1,2,3,4]对应新列值为4
  • 列表[1,2,3,4,5]对应新列值为5
  • 列表[1,2]对应新列值为2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 07:31:28