gpt4 book ai didi

python - 从列中查找平均值

转载 作者:行者123 更新时间:2023-12-01 04:10:00 25 4
gpt4 key购买 nike

我正在使用名为 Gradedata.txt 的 txt 文件,它看起来像这样:

Sarah K.,10,9,7,9,10,20,19,19,45,92
John M.,9,9,8,9,8,20,20,18,43,95
David R.,8,7,7,9,6,18,17,17,40,83
Joan A.,9,10,10,10,10,20,19,20,47,99
Nick J.,9,7,10,10,10,20,20,19,46,98
Vicki T.,7,7,8,9,9,17,18,19,44,88

我正在寻找每列的平均值。每栏都有自己的标题(作业#1、作业#2,依序排列)。我想做的应该是这样的:

Homework #1        8.67
Homework #2 8.17
Homework #3 8.33
Homework #4 9.33
Homework #5 8.83
Quiz #1 19.17
Quiz #2 18.83
Quiz #3 18.67
Midterm #1 44.17
Final #1 92.50

这是我完成此任务的尝试:

with open("GradeData.txt", "rtU") as f:
columns = f.readline().strip().split(" ")
numRows = 0
sums = [0] * len(columns)

for line in f:

if not line.strip():
continue

values = line.split(" ")
for i in xrange(len(values)):
sums[i] += int(values[i])
numRows += 1

for index, summedRowValue in enumerate(sums):
print columns[index], 1.0 * summedRowValue / numRows

我遇到了错误,而且我意识到我必须命名每个作业的平均值。这里需要一些帮助。我很感激。

最佳答案

numpy 可以用一行来解释这个:

>>> np.loadtxt('Gradedata.txt', delimiter=',', usecols=range(1,11)).mean(axis=0)
array([ 8.66666667, 8.16666667, 8.33333333, 9.33333333,
8.83333333, 19.16666667, 18.83333333, 18.66666667,
44.16666667, 92.5 ])

关于python - 从列中查找平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35074382/

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