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

如何在DataFrame中提取最高分的最后一条重复记录?

如何提取DataFrame中得分最高的最后一条记录?

嘿,这个需求其实很容易实现,用Pandas的基础操作就能搞定。我先给你对应示例数据的完整代码,再拆解步骤:

首先,先还原你给出的示例DataFrame(这里我假设两列分别是content和score,如果你的列名不同,替换成实际名称就行):

import pandas as pd

# 构造示例数据
data = {
    'content': ['a b c', 'a b c', 'b c d', 'c d e', 'c d e', 'd e f'],
    'score': [0.7, 0.7, 0.8, 0.9, 0.9, 0.8]
}
df = pd.DataFrame(data)

接下来有两种实现方式,本质逻辑是一样的:

方式一:分步操作(更易理解)

# 第一步:找到得分列的最高分
max_score = df['score'].max()

# 第二步:筛选出所有得分等于最高分的行,再取最后一条
target_row = df[df['score'] == max_score].iloc[-1]

方式二:链式操作(更简洁)

target_row = df[df['score'] == df['score'].max()].iloc[-1]

执行后,target_row就是你要的第4行(索引为4的那条c d e 0.9记录)。

简单解释下逻辑:

  • df['score'].max():获取得分列的最大值,也就是示例中的0.9
  • df[df['score'] == max_score]:通过布尔索引筛选出所有得分等于最高分的行
  • .iloc[-1]:取筛选结果中的最后一行,完美解决多条重复最高分的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:59:26