2017-05-04 4 views
1

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

오류가 따라서 오류, 개체 sum__getitem__을 호출하려고 'sum [sVaR5]'는'sum (sVaR5)'이어야합니다. –

+0

그리고 네, 목록에는 숫자로 변환해야하는 문자열이 들어 있습니다. 'sVaR5 = [float (x) for columns_95 ['95 % ']] –

+0

내 코드는'sum (sVaR5) '입니다. 내 실수는 –

답변

0

sum은 기능입니다. 당신은 합계 수레로 변환 수

sum(sVaR5) 

당신의 sVaR5는 문자열 목록 인 경우 : 당신이 인수 sVaR5과 기능 sum를 호출 할 경우, 당신은 쓸 필요가

sum(map(float, sVaR5)) 
당신이 sum[sVaR5]을 넣으면

, 파이썬은

'builtin_function_or_method' object has no attribute '__getitem__' 
관련 문제