当前位置: 首页 > 知识库问答 >
问题:

查找从CSV文件Python生成的列表的最小值和最大值

刘兴修
2023-03-14

我试图找到每一行CSV文件的MIN和MAX值,并将它们附加到列表中的下一个位置,位置5和6。我已经设法计算了平均值,将其附加到第四个位置,并将其从最高到最低输出。然而,我正在努力解决如何找到每行的MAX和MIN值,以便我可以做同样的操作——从最高到最低。原始CSV的格式是:弗雷德,56,78,99,每个用户在新行上。

任何帮助都将不胜感激。

import csv
import operator

sample  = open("sampleData.txt", "r")

csv1 = csv.reader(sample, delimiter = ',')

sort = sorted(csv1,key=operator.itemgetter(0))

for i in range( 0, len(sort)):
    sort[i].append((int(sort[i][1]) + int(sort[i][2]) + int(sort[i][3])) / int(len(sort[i])-1))   
sort = list(reversed(sorted(sort,key=operator.itemgetter(4))))
for i in range( 0, len( sort ) ):
print(sort[i][0], round(sort[i][4]))

共有1个答案

宁飞宇
2023-03-14
import csv

sample  = open("sampleData.txt", "r")
csv1 = csv.reader(sample, delimiter = ',')

sorted_list = []

for line in csv1:
    print '-- ORIG:', line
    tmp = sorted( [int(i) for i in line[1:]], reverse=True )  # eg: [99,78,56]
    stat_list = [round(sum(tmp)/float(len(tmp)), 2), min(tmp), max(tmp)]
    sorted_list.append( [line[0]] + tmp + stat_list )

for s in sorted_list: print '** NEW: ', s # has ['Fred',99,78,56,78.0,57,99]

您可以使用/修改快捷键

  1. 结果是数字转换为整数的列表。
  2. 浮点数()是计算平均值所需要的--仅仅在分母上执行就足以使整个结果成为浮点数。
  3. 列表理解是避免循环的捷径和效率。
  4. Numpy模块具有内置的均值()函数(以及其他许多函数),非常有用和快速,特别是对于大型数组

>

新:['弗雷德',99, 78, 57, 78.0, 57, 99]

 类似资料:
  • 问题内容: 我很难找出例如如何从列表中查找分钟 如何通过定义()函数来查找此列表的最小值和最大值 我不想使用内置功能 问题答案: 如果要手动查找最小值作为函数: Python 3.4引入了该软件包,该软件包提供了其他统计信息:

  • 我试图找到矩阵中每列的最小值和最大值,但我当前的代码运行不正确。我试图把最小值放在一个新矩阵的第一行,最大值放在下一行,并对每一列这样做。任何帮助都将不胜感激,谢谢!

  • 如何在csv文件中查找每列的最小值和最大值(albhabet值除外)。 我所做的是迭代每一行,并将每一列存储在一个hashmap中 然后我算了一下 但是当大数据到来时,在hashmap中保存那么多数据并不是更好,然后找到最小值和最大值。我如何用其他方式找到最小值/最大值。 最新消息 没有得到预期的结果。 解决方案:计算csv文件中列的最小值和最大值

  • 问题内容: 如何在Java 8的以下列表中找到最大,最小,和和平均值? 问题答案: 有一个班级名称, 例如: 输出: 希望能帮助到你 了解有关IntSummaryStatistics的信息

  • 主要内容:普通算法,分治算法程序中,我们经常使用数组(列表)存储给定的线性序列(例如 {1,2,3,4}),那么如何查找数组(序列)中的最大值或者最小值呢? 查找数组(序列)中最大值或最小值的算法有很多,接下来我们以 {3,7,2,1} 序列为例讲解两种查找最值的算法,一种是普通算法,另一种是借助 分治算法解决。 普通算法 普通算法的解决思路是:创建两个变量 max 和 min 分别记录数组中的最大值和最小值,它们的初始值都