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

如何定位并打印Pandas DataFrame全局最大值所在的行?

找到DataFrame全局最大值所在的行

我完全懂你的困扰——你要找的是整个DataFrame里全局最大值对应的完整行,而不是某一列最大值的行,之前搜到的方法都没精准命中需求对吧?咱们用你的测试数据来一步步解决:

步骤1:先获取全局最大值

首先用df.max().max()拿到整个DataFrame里的最大值,这一步你已经做了:

import pandas as pd

# 你的测试数据
test = pd.DataFrame({'att1' : [0.1, 0.001, 0.0001, 1, 2, 0.5, 0, -1, -2], 'att2':[0.01, 0.0001, 0.00001, 1.1, 2.2, 2.37, 0, -1.5, -2.5]})

# 获取全局最大值
global_max = test.max().max()
print(global_max)  # 输出: 2.37

步骤2:筛选出包含全局最大值的行

接下来用布尔索引定位目标行:

# 筛选出任意一列包含全局最大值的行
target_row = test[test.eq(global_max).any(axis=1)]
print(target_row)

执行后会输出你想要的结果:

att1  att2
5   0.5  2.37

额外说明

  • 这个方法还支持多行匹配:如果DataFrame里有多个行都包含全局最大值,它会把所有符合条件的行都返回给你。
  • 针对你提到的异常值(比如-1.000000002),同样可以用这个逻辑:把global_max换成那个异常值,就能精准定位到它所在的行,不管它藏在哪个列里,也不会被describe()的统计结果漏掉。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:48:22