Modul numpy u Pythonu pruža funkciju zvanu numpy.average(), koja se koristi za izračunavanje ponderiranog prosjeka duž navedene osi.
Sintaksa:
numpy.average(a, axis=None, weights=None, returned=False)
Parametri:
x: sličan_nizu
Ovaj parametar definira izvorni niz čiji prosjek elementa želimo izračunati. Pretvorba će se pokušati izvršiti ako je 'x' niz.
os: int ili None ili tuple of ints (izborno)
Ovaj parametar definira os duž koje će se izračunati prosjek. Prema zadanim postavkama, os je postavljena na Ništa, što će izračunati prosjek svih elemenata izvornog niza. Brojevi počinju od krajnje do početne osi kada je vrijednost osi negativna.
težine: array_like (izborno)
Ovaj parametar definira polje koje sadrži težine povezane s vrijednostima polja. Svaka vrijednost elemenata niza zajedno čini prosjek prema pridruženoj težini. Ponderirani niz može biti jednodimenzionalan ili istog oblika kao ulazni niz. Ako nema težine pridružene elementu polja, težina će se tretirati kao 1 za sve elemente.
vraćeno: bool(opcionalno)
Prema zadanim postavkama, ovaj je parametar postavljen na False. Ako ga postavimo na True, tada se vraća torka prosjeka i sum_of_weights. Ako je False, vraća se prosjek. Ponderirani zbroj je ekvivalentan broju elemenata ako ne postoje vrijednosti za težine.
Povratak:
retval, [sum_of_weights]: tip_niza ili dvostruko
Ova funkcija vraća ili prosjek ili i prosjek i sum_of_weights koji ovise o vraćenom parametru.
Povišice:
ZeroDivisionError
Ova pogreška se javlja kada su sve težine duž osi postavljene na nulu.
TypeError
sql odaberite kao
Ova se pogreška pojavljuje kada duljina ponderiranog niza nije ista kao oblik ulaznog niza.
Primjer 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Izlaz:
[1, 2, 3, 4, 5] 3.0
U gornjem kodu:
- Uvezli smo numpy s alias imenom np.
- Napravili smo popis elemenata 'podaci' .
- Varijablu smo deklarirali 'izlaz' i dodijeljena vraćena vrijednost od prosjek() funkcija.
- Prošli smo popis 'podaci' u funkciji.
- Na kraju smo pokušali ispisati 'podaci' i 'izlaz'
U izlazu prikazuje prosjek elemenata popisa.
Primjer 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Izlaz:
5.666666666666667
Primjer 3:
import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output
Izlaz:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
U gornjem kodu:
- Uvezli smo numpy s alias imenom np.
- Napravili smo niz 'podaci' korištenjem urediti () i np.reshape() funkcija.
- Varijablu smo deklarirali 'izlaz' i dodijeljena vraćena vrijednost od prosjek() funkcija.
- Prošli smo niz 'podaci' , postavite os na 1 i ponderirani niz u funkciji.
- Na kraju smo pokušali ispisati 'podaci' i 'izlaz'
U izlazu prikazuje prosjek svakog elementa stupca u nizu.
Primjer 4:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
Izlaz:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ.