You need to enable JavaScript to run this app. Python如何获取CSV按索引分组后每组hits最大值及对应样本
优惠活动
大模型
产品
解决方案
定价
更多

Python如何获取CSV按索引分组后每组hits最大值及对应样本

可行实现代码

你可以在现有分组逻辑的基础上,补充遍历计算、格式化输出的逻辑即可完成需求,完整可运行代码如下:

from collections import defaultdict
import csv

groups = defaultdict(list)

with open('data.csv') as inputfile:
    reader = csv.reader(inputfile)
    next(reader, None)  # 跳过表头行

    for row in reader:
        # 请确认此处列索引和你实际CSV的列位置对应:row[1]为index,row[17]为sample列,row[18]为hits列
        groups[row[1]].append([row[17], int(row[18])])  # 提前将hits转为整数类型,避免字符串排序错误

for index, item_list in groups.items():
    # 按hits值取最大的对应条目,存在多个最大值时默认取第一个出现的条目
    max_entry = max(item_list, key=lambda x: x[1])
    sample, hits = max_entry
    print(f"For index {index}, the highest hits are {hits} for sample {sample}.")

逻辑说明

  • 读取数据阶段提前把hits列转为整数类型,避免后续比较大小时按照字符串规则排序,出现"9" > "10"的错误
  • 用Python内置的max()函数,指定按每个条目的hits值做比较,直接就能拿到分组内hits最大的条目,无需额外写遍历判断逻辑
  • 输出格式完全匹配你给出的期望效果,多个最大值时默认取分组内第一个出现的最高值条目,符合你不需要特殊处理多最大值场景的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 20:27:00