De numpy-module van Python biedt een functie genaamd numpy.average(), die wordt gebruikt voor het berekenen van het gewogen gemiddelde langs de opgegeven as.
Syntaxis:
numpy.average(a, axis=None, weights=None, returned=False)
Parameters:
x: array_like
Deze parameter definieert de bronarray waarvan we het gemiddelde van het element willen berekenen. Er wordt geprobeerd de conversie uit te voeren als 'x' een array is.
as: int of Geen of tuple van ints (optioneel)
Deze parameter definieert de as waarlangs het gemiddelde wordt berekend. Standaard is de as ingesteld op Geen, waardoor het gemiddelde van alle elementen van de bronarray wordt berekend. Tellingen beginnen vanaf het einde tot aan de startas wanneer de waarde van de as negatief is.
gewichten: array_like(optioneel)
Deze parameter definieert een array met gewichten die zijn gekoppeld aan de arraywaarden. Elke waarde van array-elementen samen vormt het gemiddelde op basis van het bijbehorende gewicht. De gewogen array kan eendimensionaal zijn of dezelfde vorm hebben als de invoerarray. Als er geen gewicht aan het array-element is gekoppeld, wordt het gewicht voor alle elementen als 1 behandeld.
geretourneerd: bool (optioneel)
Standaard is deze parameter ingesteld op False. Als we dit instellen op True, wordt een tupel van gemiddelde en som_van_gewichten geretourneerd. Als de waarde Onwaar is, wordt het gemiddelde geretourneerd. De gewogen som is gelijk aan het aantal elementen als er geen waarden voor gewichten zijn.
Geeft terug:
retval, [sum_of_weights]: array_type of double
Deze functie retourneert het gemiddelde of zowel het gemiddelde als de som_van_gewichten die afhankelijk zijn van de geretourneerde parameter.
Verhoogt:
ZeroDivisionFout
Deze fout treedt op als alle gewichten langs de as op nul zijn ingesteld.
TypeError
Deze fout treedt op als de lengte van de gewogen array niet hetzelfde is als de vorm van de invoerarray.
Voorbeeld 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Uitgang:
[1, 2, 3, 4, 5] 3.0
In de bovenstaande code:
- We hebben numpy geïmporteerd met aliasnaam np.
- We hebben een lijst met elementen gemaakt 'gegevens' .
- We hebben de variabele gedeclareerd 'uitvoer' en de geretourneerde waarde toegewezen van gemiddeld() functie.
- We hebben de lijst doorstaan 'gegevens' in de functie.
- Ten slotte hebben we geprobeerd de 'gegevens' En 'uitvoer'
In de uitvoer wordt het gemiddelde van de lijstelementen weergegeven.
Voorbeeld 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Uitgang:
5.666666666666667
Voorbeeld 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
Uitgang:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
In de bovenstaande code:
- We hebben numpy geïmporteerd met aliasnaam np.
- We hebben een array gemaakt 'gegevens' gebruik makend van regelen() En np.reshape() functie.
- We hebben de variabele gedeclareerd 'uitvoer' en de geretourneerde waarde toegewezen van gemiddeld() functie.
- We zijn de array gepasseerd 'gegevens' , stel de as in op 1 en gewogen array in de functie.
- Ten slotte hebben we geprobeerd de 'gegevens' En 'uitvoer'
In de uitvoer wordt het gemiddelde van elke kolomelementen in de array weergegeven.
Voorbeeld 4:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
Uitgang:
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.