-3

(198)和(272)范围内[quant]字段中数字的平均值是多少

quant
95
189
176
200
177
340
205
203
284
88
109
83
360
67
250
56
111
439
354
143

这是我尝试过的代码。以上是我需要从中找到平均值的 [quant] 字段。

word_file = open('300000a.csv','r')

firstLine = True 
for line in word_file:
    if firstLine:
        firstLine = False
        continue
    line = line.strip()
    line = line.split (",")
    field = int(line[0])

TotalMetalCount +=1
if  field >198 or field <272:
  metalCounts += 1
else:
    metalCounts = 1


countT +=1
if field >198 or field <272:
        count += 1
4

2 回答 2

2

您可以使用sum并将其除以length来计算列表的平均值。

float(sum(my_list))/len(my_list)

如果您只需要抓取一些特定项目并根据这些项目提取平均值,则可以对数组进行切片。

print(float(sum(my_list[198:272]))/len(my_list[198:272]))

如果您有一个包含字符串而不是整数的列表,则需要先将它们转换为整数列表,然后才能使用 sum。

my_list_of_integers = [int(i) for i in my_list[198:272]
print(float(sum(my_list_of_integers))/len(my_list_of_integers]))
于 2013-05-14T12:26:02.473 回答
0

如果你要做的数字比这多得多,你应该使用numpy。然后会有多种方式将 CSV 文件作为数组读取。这些数组有一个.mean()方法,它可以做你认为它做的事情。

(但如果你不做更多的数字,那么@eandersson 的答案更合适)。

于 2013-05-14T14:14:01.470 回答