logo

numpy.average() i Python

numpy-modulet i Python giver en funktion kaldet numpy.average(), der bruges til at beregne det vægtede gennemsnit langs den angivne akse.

frø vs sporer

Syntaks:

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

Parametre:

x: array_like

Denne parameter definerer det kildearray, hvis elements gennemsnit vi ønsker at beregne. Konverteringen vil blive forsøgt, hvis 'x' er en matrix.

akse: int eller ingen eller tupel af ints (valgfrit)

Denne parameter definerer aksen, langs hvilken gennemsnittet skal beregnes. Som standard er aksen sat til Ingen, hvilket vil beregne gennemsnittet af alle elementerne i kildearrayet. Tællerne starter fra slutningen til startaksen, når værdien af ​​aksen er negativ.

vægte: array_like (valgfrit)

Denne parameter definerer et array, der indeholder vægte forbundet med arrayværdierne. Hver værdi af array-elementer sammen danner gennemsnittet i henhold til dens tilknyttede vægt. Det vægtede array kan være endimensionelt eller af samme form som input-arrayet. Når der ikke er nogen vægt knyttet til array-elementet, vil vægten blive behandlet som 1 for alle elementer.

returneret: bool (valgfrit)

Som standard er denne parameter indstillet til Falsk. Hvis vi sætter den som Sand, returneres en tuple af gennemsnit og sum_of_weights. Hvis det er falsk, returneres gennemsnittet. Den vægtede sum svarer til antallet af elementer, hvis der ikke er værdier for vægte.

Vender tilbage:

retval, [sum_of_weights]: array_type eller double

Denne funktion returnerer enten gennemsnittet eller både gennemsnittet og sum_of_weights, der afhænger af den returnerede parameter.

Hæver:

ZeroDivisionError

Denne fejl øges, når alle vægte langs aksen er sat til nul.

hvor stor er min computerskærm

Typefejl

Denne fejl opstår, når længden af ​​det vægtede array ikke er den samme som formen på input-arrayet.

Eksempel 1:

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

Produktion:

java arraylist metoder
 [1, 2, 3, 4, 5] 3.0 

I ovenstående kode:

  • Vi har importeret numpy med alias navn np.
  • Vi har lavet en liste over elementer 'data' .
  • Vi har erklæret variablen 'produktion' og tildelt den returnerede værdi af gennemsnit() fungere.
  • Vi har bestået listen 'data' i funktionen.
  • Til sidst forsøgte vi at udskrive 'data' og 'produktion'

I outputtet viser den gennemsnittet af listeelementerne.

Eksempel 2:

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

Produktion:

 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 

Produktion:

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

I ovenstående kode:

  • Vi har importeret numpy med alias navn np.
  • Vi har lavet et array 'data' ved brug af arange() og np.reshape() fungere.
  • Vi har erklæret variablen 'produktion' og tildelt den returnerede værdi af gennemsnit() fungere.
  • Vi har passeret rækken 'data' , sæt aksen til 1 og vægtet array i funktionen.
  • Til sidst forsøgte vi at udskrive 'data' og 'produktion'

I outputtet viser det gennemsnittet af hver kolonneelementer i arrayet.

Eksempel 4:

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

Produktion:

 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. 

Bemærk: Outputtet viser en typefejl: 'Axis skal angives, når former for data og vægte er forskellige', fordi formen på 'weights'-arrayet ikke er den samme som input-array-'data'.