如何计算字符串列表的平均值?

时间:2017-05-04 19:55:32

标签: python-2.7 csv

我尝试计算csv文件中一个列的平均值。首先,我从.csv文件中读取一列并将其保存到列表中。接下来,当我试图得到意味着它有错误

TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

我的代码是:

with open('XXXXXX.csv') as f:
reader = csv.DictReader(f) 
for row in reader: 
    for (k,v) in row.items(): 
        columns_95[k].append(v)
sVaR5 = columns_95['95%']
mean_95 = sum(sVaR5)/len(sVaR5)

和我的csv看起来像:

95%      99%
1.225    2.332
1.252    10.252
2.336    4.213
...      ...

当我检查我的列表时,输出为['1.225','1.252','2.336']我认为引号可能是我的代码出错的原因。但是如何解决它!谢谢!!!

1 个答案:

答案 0 :(得分:0)

sum是一个功能。如果要使用参数sum调用函数sVaR5,则需要编写:

sum(sVaR5)

如果您的sVaR5是一个字符串列表,您可以将它们转换为浮点数作为总和:

sum(map(float, sVaR5))

如果你放sum[sVaR5],Python会尝试在对象__getitem__上调用sum,因此错误

'builtin_function_or_method' object has no attribute '__getitem__'