gpt4 book ai didi

python - 如何在没有 Pandas 的情况下使用 Python 从 CSV 文件中获取 10 个最高值

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:41 25 4
gpt4 key购买 nike

我有一个 CSV 文件,我使用 CSV 库中的 DictReader 将该文件转换为字典。

我的代码是这样的:

with open('file.csv', 'r') as file:
reader = csv.DictReader(file)
highest = sorted(reader, key=lambda x: (x['value']))
print(highest)

但这是行不通的,highest 列表包含 CSV 中的所有数据,而我只想要 10 个最高值。但我不知道如何使用字典限制列表只接收 10 个最高值。

我不会使用 Pandas

最佳答案

您可以在排序后对列表进行切片以获得最高的 10 个值:

highest = sorted(reader, key=lambda x: x['value'])[-10:]

您还可以使用 heapq.nlargest 方法在 O(n log t) 中实现相同的效果 (其中 t 是要返回的项目数)时间复杂度而不是 O(n log n):

import heapq
highest = heapq.nlargest(10, reader, key=lambda x: x['value'])

关于python - 如何在没有 Pandas 的情况下使用 Python 从 CSV 文件中获取 10 个最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55093443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com