logo

numpy.average() i Python

numpy-modulen til Python gir en funksjon kalt numpy.average(), som brukes til å beregne det vektede gjennomsnittet langs den angitte aksen.

frø vs sporer

Syntaks:

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

Parametere:

x: array_like

Denne parameteren definerer kildematrisen hvis elements gjennomsnitt vi ønsker å beregne. Konverteringen vil bli forsøkt hvis 'x' er en matrise.

akse: int eller ingen eller tuppel av ints (valgfritt)

Denne parameteren definerer aksen som gjennomsnittet skal beregnes langs. Som standard er aksen satt til Ingen, som vil beregne gjennomsnittet av alle elementene i kildematrisen. Teller starter fra slutten til startaksen når verdien av aksen er negativ.

vekter: array_like (valgfritt)

Denne parameteren definerer en matrise som inneholder vekter knyttet til matriseverdiene. Hver verdi av matriseelementer sammen utgjør gjennomsnittet i henhold til dens tilknyttede vekt. Den vektede matrisen kan være endimensjonal eller ha samme form som inngangsmatrisen. Når det ikke er noen vekt knyttet til array-elementet, vil vekten bli behandlet som 1 for alle elementene.

returnert: bool (valgfritt)

Som standard er denne parameteren satt til False. Hvis vi setter den som Sann, returneres en tuppel av gjennomsnitt og sum_av_vekter. Hvis det er False, returneres gjennomsnittet. Den vektede summen tilsvarer antall elementer hvis det ikke er verdier for vekter.

Returnerer:

retval, [sum_of_weights]: array_type eller dobbel

Denne funksjonen returnerer enten gjennomsnittet eller både gjennomsnittet og sum_of_weights som avhenger av den returnerte parameteren.

Hever:

ZeroDivisionError

Denne feilen økes når alle vekter langs aksen er satt til null.

hvor stor er dataskjermen min

TypeError

Denne feilen økes når lengden på den vektede matrisen ikke er den samme som formen på inngangsmatrisen.

Eksempel 1:

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

Produksjon:

java filterstrøm
 [1, 2, 3, 4, 5] 3.0 

I koden ovenfor:

  • Vi har importert numpy med alias navn np.
  • Vi har laget en liste over elementer 'data' .
  • Vi har deklarert variabelen 'produksjon' og tildelt den returnerte verdien av gjennomsnitt() funksjon.
  • Vi har passert listen 'data' i funksjonen.
  • Til slutt prøvde vi å skrive ut 'data' og 'produksjon'

I utgangen viser den gjennomsnittet av listeelementene.

Eksempel 2:

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

Produksjon:

 5.666666666666667 

Eksempel 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 

Produksjon:

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

I koden ovenfor:

  • Vi har importert numpy med alias navn np.
  • Vi har laget en matrise 'data' ved hjelp av arange() og np.reshape() funksjon.
  • Vi har deklarert variabelen 'produksjon' og tildelt den returnerte verdien av gjennomsnitt() funksjon.
  • Vi har passert arrayet 'data' , sett aksen til 1, og vektet matrise i funksjonen.
  • Til slutt prøvde vi å skrive ut 'data' og 'produksjon'

I utdataene viser den gjennomsnittet av hver kolonneelementer i matrisen.

Eksempel 4:

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

Produksjon:

 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. 

Merk: Utdataene viser en typefeil: 'Axis må spesifiseres når former for data og vekter er forskjellige' fordi formen på 'weights'-matrisen ikke er den samme som input-matrisen 'data'.