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

如何使用Python获取DataFrame中数组列最大值对应的索引

解决方案

你之前的代码仅通过max(x)提取了数组的最大值,没有执行「查找最大值对应位置」的逻辑,所以无法得到目标索引,直接通过列表原生方法或者numpy方法即可实现需求。

方法1:使用Python列表原生方法(无额外依赖)

直接在apply逻辑中,先取数组最大值,再用列表的index()方法返回该值对应的索引:

# 构造示例DataFrame
import pandas as pd
df = pd.DataFrame({
    "Elements": [[3,4,5], [2,0,1]]
})

# 计算最大值索引
df["Max Value Index"] = df["Elements"].apply(lambda x: x.index(max(x)))

执行后输出结果完全匹配你的预期:

ElementsMax Value Index
[3, 4, 5]2
[2, 0, 1]0

注意:如果单个数组内存在多个重复的最大值,list.index()会默认返回第一个最大值对应的索引。

方法2:使用numpy的argmax方法(兼容numpy数组格式存储的元素)

如果你的Elements列存储的是numpy数组,或者后续需要做更多数值计算,可以直接用np.argmax()获取最大值索引,该方法对普通Python列表同样生效:

import numpy as np
df["Max Value Index"] = df["Elements"].apply(lambda x: np.argmax(x))

返回结果和方法1完全一致。

内容的提问来源于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.28 23:18:17