我创建了一个程序,可以查找 CSV 文件每一行的最小值,现在我想对每一列执行相同的操作,但我无法这样做。任何建议将不胜感激,谢谢。
#Import and convert csv
import csv
data = []
with open(file,"r") as f:
reader = csv.reader(f, delimiter=',')
#make sure csv uses "." not "," !!!!!
nump = 0
for row in reader:
floatrow = []
for val in row:
floatrow.append(float(val))
nump += len(floatrow)
data.append(floatrow)
#Calculates minimum of each row, minimum and sum of row
minrr = []
sum1 = 0.0
for row in data:
list2 = (min (filter(None, row)))
minrr.append(list2)
sum1 += sum(row)
您可以仅使用 python 内置命令和通过压缩所有行实现的转置来完成此操作,如下所示:
import csv
a = []
with open('path/to/file.csv',"r") as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
#turn all input to floats
row = map (float, row)
#append the entire row to create list of lists
a.append(row)
# Transpose a into b
b = zip (*a)
# Now min of row will be min of col in a
for line in b:
print min(line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)