【问题标题】:Finding multiple maximum values from a file using Python使用 Python 从文件中查找多个最大值
【发布时间】:2026-02-11 13:25:02
【问题描述】:

我正在处理一个 CSV 文件,我需要在一个列中找到最大的几个项目。只需通过标准循环和比较值,我就能找到最高值。

我想要获得前几个值的想法是将该列中的所有值存储到一个数组中,对其进行排序,然后提取最后三个索引。但是,我不确定这在效率方面是否是一个好主意。我还需要提取与顶部值关联的其他属性,似乎将这些列值分开会使一切变得混乱。

我想做的另一件事是拥有三个变量并进行最高价值的交易,每次我发现更大的东西时,我都会将“前三名”相互比较并重新排序。这似乎也有点复杂,我不确定我将如何实现它。

如果有人告诉我是否遗漏了一些明显的东西,我将不胜感激。如果您需要查看我的示例代码,请告诉我(我觉得这里可能没有必要)。

编辑:澄清一下,如果列值类似于 [2,5,6,3,1,7] 我希望值 first = 7, second = 6, third = 5

【问题讨论】:

  • 使用pandas模块

标签: python loops csv


【解决方案1】:

Pandas 看起来非常适合您的任务:

import pandas as pd
df = pd.read_csv('data.csv')
df.nlargest(3, 'column name')

【讨论】:

  • 如果我想使用“with open”打开我的csv文件,我将如何重写“df =”行。目前我有“data_file = csv.DictReader(csvfile) next(data_file)”(对格式感到抱歉)。我应该摆脱 DictReader 吗?我用它来做一些其他的事情,所以我不确定我是否可以摆脱它。