Tisknout směrodatná odchylka ze seznamu v Pythonu 2.5.3.0

hlasů
0

Snažím se přijít na to, jak se dostat směrodatnou odchylku ze seznamu. Ive vzhlédl příkladů az nějakého důvodu nemohu dostat je do práce. Total, Median, a znamenají stačit, jeho směrodatnou odchylku, která se dává chyby a není si jistý, jak se dostat k tisku.

To je kód, který jsem vytvořil, ano, já vím, že to může být zkrácena. Ale jeho můj první jít kolem.

I v současné době získat následující chybě

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

To je kód, který jsem vytvořil, ano, já vím, že to může být zkrácena. Ale jeho můj první jít kolem.

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)
Položena 10/04/2014 v 20:53
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Je nám líto, modul statsouvisí s POSIX systémového volání statne statistiky. Každopádně směrodatná odchylka je druhá odmocnina průměrného čtvercového rozdíl od průměru. Můžete to udělat přímo. No, vlastně chcete spočítat „vzorek“ standardní odchylku, která používá „Bessel v korekci“: ne průměrnou plošnou odchylku (vydělením počtu vzorků), ale spíše čtvercová rozdíl dělí o jednu menší než počet vzorků.

Stručně řečeno: směrodatná odchylka vzorku, který Python 3 hovory statistics.stdev, je právě toto:

math.sqrt(sum([(val - mean)**2 for val in x])/(len(x) - 1))
Odpovězeno 10/04/2014 v 20:57
zdroj uživatelem

hlasů
0

V Pythonu 2 se numpymodul nabízí funkce pro výpočet směrodatné odchylky. Máte-li seznam, který lze převést na matici, která nabízí standardní odchylku jako členské funkce:

import numpy
lst = [1, 4, 2, 5, 2, 2.5]
print numpy.array(lst).std()
Odpovězeno 27/07/2016 v 10:20
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more