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

如何根据最小值选取pandas Series对应的索引?

报错原因

你写的df.loc[df.min()]逻辑存在问题:df.min()得到的是最小值913,而.loc是基于索引标签取值的,你的Series索引是Mo/Di/Mi这类星期缩写,不存在值为913的索引标签,自然会抛出KeyError。
另外注意你手上的结构是pandas Series,不是DataFrame,用df做变量名容易混淆。

正确实现方法

方法1:直接调用idxmin()(最推荐)

pandas的Series内置了idxmin()方法,专门用于返回最小值对应的首个索引标签,一行代码即可实现:

# 假设你的Series变量名为s
min_index = s.idxmin()
print(min_index) # 输出结果为 Di

方法2:布尔索引过滤后取索引

如果你需要获取所有等于最小值的索引(存在多个相同最小值的场景适用),可以用这种方式:

# 过滤出值等于最小值的行,再提取索引
min_index_list = s[s == s.min()].index.tolist()
# 只要第一个的话取0号位置即可
min_index = min_index_list[0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:09:04