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.