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

如何查找pandas DataFrame中各列最小值对应的行索引

实现方案

pandas 中min()、idxmin()这类轴向聚合方法默认参数为axis=0,会沿纵向逐列计算,返回每列的聚合结果;如果需要沿横向逐行计算,传入参数axis=1即可。

获取每列最小值对应的行索引

直接调用idxmin()方法即可,默认计算逻辑刚好匹配需求:

# 返回值为Series结构:索引是原data的列名,值是对应列最小值所在的行标签索引
col_min_row_index = data.idxmin()

# 如需同时拿到每列最小值和对应索引,可拼接为结构化表格
col_min_result = pd.DataFrame({
    "min_value": data.min(),
    "min_row_index": data.idxmin()
})

如果需要获取最小值对应的整数位置索引(而非自定义的行标签),可以通过numpy数组接口实现:

# 返回数组顺序和原data列顺序一一对应,值为各列最小值的整数行位置
col_min_row_pos = data.to_numpy().argmin(axis=0)

补充:每行最小值的正确实现

针对你最初要获取每行最小值的需求,指定axis=1即可:

# 逐行计算最小值
row_min_value = data.min(axis=1)
# 逐行计算最小值对应的列标签索引
row_min_col_index = data.idxmin(axis=1)

# 拼接为结构化结果
row_min_result = pd.DataFrame({
    "min_value": row_min_value,
    "min_col_index": row_min_col_index
})

提示:如果你的数据集存在空值,上述方法会自动跳过空值计算;如果整列/整行全为空值,对应返回结果会是NaN。

内容的提问来源于stack exchange,提问作者Samar Pratap Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:42:17