logo

numpy.average() v Pythonu

Modul numpy v Pythonu ponuja funkcijo, imenovano numpy.average(), ki se uporablja za izračun tehtanega povprečja vzdolž podane osi.

Sintaksa:

 numpy.average(a, axis=None, weights=None, returned=False) 

Parametri:

x: array_like

Ta parameter definira izvorno matriko, katere povprečje elementa želimo izračunati. Pretvorba bo poskusena, če je 'x' polje.

os: int ali None ali tuple of ints (neobvezno)

Ta parameter določa os, vzdolž katere se bo izračunalo povprečje. Privzeto je os nastavljena na Brez, kar bo izračunalo povprečje vseh elementov izvorne matrike. Štetje se začne od konca do začetne osi, ko je vrednost osi negativna.

uteži: array_like (izbirno)

Ta parameter definira matriko, ki vsebuje uteži, povezane z vrednostmi matrike. Vsaka vrednost elementov matrike skupaj tvori povprečje glede na pripadajočo težo. Uteženi niz je lahko enodimenzionalen ali enake oblike kot vhodni niz. Če z elementom matrike ni povezana utež, bo utež obravnavana kot 1 za vse elemente.

vrnjeno: bool (neobvezno)

Privzeto je ta parameter nastavljen na False. Če ga nastavimo na True, se vrne torka povprečja in vsote_uteži. Če je False, se vrne povprečje. Utežena vsota je enakovredna številu elementov, če ni vrednosti za uteži.

Vrne:

retval, [vsota_uteži]: vrsta_matrike ali dvojno

Ta funkcija vrne povprečje ali povprečje in vsoto uteži, ki sta odvisni od vrnjenega parametra.

Zvišanja:

ZeroDivisionError

Ta napaka se pojavi, ko so vse uteži vzdolž osi nastavljene na nič.

TypeError

Ta napaka se pojavi, ko dolžina utežene matrike ni enaka obliki vhodne matrike.

Primer 1:

 import numpy as np data = list(range(1,6)) output=np.average(data) data output 

Izhod:

java ups koncepti
 [1, 2, 3, 4, 5] 3.0 

V zgornji kodi:

  • Uvozili smo numpy z vzdevkom np.
  • Ustvarili smo seznam elementov 'podatki' .
  • Spremenljivko smo deklarirali 'izhod' in dodelil vrnjeno vrednost povprečje() funkcijo.
  • Prešli smo seznam 'podatki' v funkciji.
  • Nazadnje smo poskušali natisniti 'podatki' in 'izhod'

V izhodu prikazuje povprečje elementov seznama.

Primer 2:

 import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output 

Izhod:

 5.666666666666667 

Primer 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 

Izhod:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444]) 

V zgornji kodi:

  • Uvozili smo numpy z vzdevkom np.
  • Ustvarili smo niz 'podatki' uporabo uredi () in np.reshape() funkcijo.
  • Spremenljivko smo deklarirali 'izhod' in dodelil vrnjeno vrednost povprečje() funkcijo.
  • Prešli smo niz 'podatki' , nastavite os na 1 in uteženo matriko v funkciji.
  • Nazadnje smo poskušali natisniti 'podatki' in 'izhod'

V izhodu prikazuje povprečje vsakega elementa stolpca v matriki.

Primer 4:

 import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4]) 

Izhod:

 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. 

Opomba: Izhod prikazuje napako tipa: 'Os je treba določiti, ko se oblike podatkov in uteži razlikujejo', ker oblika matrike 'uteži' ni enaka vhodni matriki 'podatki'.