numpy-modulen i Python tillhandahåller en funktion som kallas numpy.average(), som används för att beräkna det viktade medelvärdet längs den angivna axeln.
Syntax:
numpy.average(a, axis=None, weights=None, returned=False)
Parametrar:
x: array_like
Denna parameter definierar källmatrisen vars elements medelvärde vi vill beräkna. Omvandlingen kommer att göras om 'x' är en array.
axel: int eller ingen eller tupel av ints (valfritt)
Denna parameter definierar axeln längs vilken medelvärdet ska beräknas. Som standard är axeln inställd på Ingen, vilket kommer att beräkna medelvärdet av alla element i källmatrisen. Räknar börjar från slutet till startaxeln när axelns värde är negativt.
vikter: array_like (valfritt)
Den här parametern definierar en array som innehåller vikter associerade med arrayvärdena. Varje värde av arrayelement tillsammans utgör medelvärdet enligt dess associerade vikt. Den viktade matrisen kan vara endimensionell eller ha samma form som inmatningsmatrisen. När det inte finns någon vikt associerad med arrayelementet kommer vikten att behandlas som 1 för alla element.
returnerade: bool (valfritt)
Som standard är denna parameter inställd på False. Om vi ställer in det som True, returneras en tuppel av medelvärde och summa_of_weights. Om det är falskt returneras medelvärdet. Den viktade summan är ekvivalent med antalet element om det inte finns några värden för vikter.
Returnerar:
retval, [sum_of_weights]: array_type eller double
Denna funktion returnerar antingen medelvärdet eller både medelvärdet och summa_of_weights som beror på den returnerade parametern.
Höjer:
ZeroDivisionError
Detta fel höjs när alla vikter längs axeln är nollställda.
Skrivfel
Detta fel höjs när längden på den viktade matrisen inte är densamma som formen på inmatningsmatrisen.
Exempel 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Produktion:
[1, 2, 3, 4, 5] 3.0
I ovanstående kod:
- Vi har importerat numpy med alias np.
- Vi har skapat en lista med element 'data' .
- Vi har deklarerat variabeln 'produktion' och tilldelade det returnerade värdet på genomsnitt() fungera.
- Vi har klarat listan 'data' i funktionen.
- Till sist försökte vi skriva ut 'data' och 'produktion'
I utgången visar den genomsnittet av listelementen.
Exempel 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Produktion:
5.666666666666667
Exempel 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 ovanstående kod:
- Vi har importerat numpy med alias np.
- Vi har skapat en array 'data' använder sig av arrangera() och np.reshape() fungera.
- Vi har deklarerat variabeln 'produktion' och tilldelade det returnerade värdet på genomsnitt() fungera.
- Vi har passerat arrayen 'data' , ställ in axeln till 1 och viktad array i funktionen.
- Till sist försökte vi skriva ut 'data' och 'produktion'
I utgången visar den medelvärdet av varje kolumnelement i arrayen.
Exempel 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.