2014-04-10 10 views
0

목록에서 표준 편차를 구하는 방법을 찾으려합니다. 필자는 예제를 찾아 보았고 어떤 이유로 인해 필자는 일하도록 할 수 없다. 총합, 중앙값 및 평균값은 오류를 발생시키고 인쇄 방법을 모르는 표준 편차입니다.python의 목록에서 표준 편차를 인쇄하십시오. 2.5.3.0

이것은 내가 작성한 코드입니다. 예, 단축 할 수 있습니다. 그러나 그것의 나의 처음은 돌아 다닌다.

내가 현재 다음과 같은 오류

AttributeError: 'module' object has no attribute 'stdev'     

이 내가 생성 한 코드를 얻을, 그래 나는 그것이 단축 할 수 알고있다. 그러나 그것의 나의 처음은 돌아 다닌다.

num1 = int(input("Insert first number")) 
num2 = int(input("Insert Next number")) 
num3 = int(input("Insert Next number")) 
num4 = int(input("Insert Next number")) 
num5 = int(input("Insert Next number")) 
num6 = int(input("Insert Next number")) 
num7 = int(input("Insert Next number")) 
num8 = int(input("Insert Next number")) 
num9 = int(input("Insert Next number")) 
num10 = int(input("Insert Last number")) 

x = ([num1, num2, num3, num4, num5, num6, num7, num8, num9, num10]) 

total = sum(x) 
print (total) 

mean = total/10 
print (mean) 

median = sorted(x)[len(x)//2] 
print (int(median)) 

import stat 
stdeviation = stat.stdev(x) 
print (stdeviation) 
+0

어떤 모듈이'stat'입니까? – unutbu

+0

올바른 이름은'statistics.stdev'이며, Python 3.4에서 추가되었습니다. 그래서 당신은 2.5에서 그것을 사용할 수 없습니다. – Barmar

+0

통계를 이전에 사용했으나 여전히 작업을 수행하지 못했습니다. 저는 PyScripter를 사용하고 있고 "st"라는 단어를 입력 할 때 통계는 autofilled – Ship72

답변

1

죄송는 모듈 stat는 POSIX 시스템 호출 stat하지 통계 관련이있다. 어쨌든 표준 편차는 평균과의 평균 제곱 차이의 제곱근입니다. 당신은 그것을 직접 할 수 있습니다. 음, 실제로 "Bessel 's correction"을 사용하는 "샘플"표준 편차를 계산하려고합니다. 샘플의 수로 나눈 평균 제곱 차이가 아니라 샘플 수보다 1로 작은 제곱 차이를 나눈 것입니다. numpy 모듈은 표준 편차를 계산하는 기능을 제공합니다 파이썬 2에서

math.sqrt(sum([(val - mean)**2 for val in x])/(len(x) - 1)) 
0

: 표준 파이썬 3 호출 statistics.stdev, 그냥 이것이다 편차를, 샘플 :

간단히 넣어합니다. 리스트가 있다면 멤버 함수로 표준 편차를 제공하는 배열로 변환 할 수 있습니다 :

import numpy 
lst = [1, 4, 2, 5, 2, 2.5] 
print numpy.array(lst).std()