Das Numpy-Modul von Python stellt eine Funktion namens numpy.average() bereit, die zur Berechnung des gewichteten Durchschnitts entlang der angegebenen Achse verwendet wird.
Syntax:
numpy.average(a, axis=None, weights=None, returned=False)
Parameter:
x: array_like
Dieser Parameter definiert das Quellarray, dessen Elementdurchschnitt wir berechnen möchten. Die Konvertierung wird versucht, wenn „x“ ein Array ist.
Achse: int oder None oder Tupel von ints (optional)
Netzwerk und Internet
Dieser Parameter definiert die Achse, entlang derer der Durchschnitt berechnet wird. Standardmäßig ist die Achse auf „Keine“ eingestellt, wodurch der Durchschnitt aller Elemente des Quellarrays berechnet wird. Die Zählung beginnt von der End- bis zur Startachse, wenn der Wert der Achse negativ ist.
Gewichte: array_like (optional)
Dieser Parameter definiert ein Array, das Gewichtungen enthält, die den Array-Werten zugeordnet sind. Jeder Wert der Array-Elemente zusammen ergibt den Durchschnitt entsprechend der zugehörigen Gewichtung. Das gewichtete Array kann eindimensional sein oder die gleiche Form wie das Eingabearray haben. Wenn dem Array-Element keine Gewichtung zugeordnet ist, wird die Gewichtung für alle Elemente als 1 behandelt.
zurückgegeben: bool(optional)
Standardmäßig ist dieser Parameter auf False gesetzt. Wenn wir es auf „True“ setzen, wird ein Tupel aus „average“ und „sum_of_weights“ zurückgegeben. Wenn es „Falsch“ ist, wird der Durchschnitt zurückgegeben. Die gewichtete Summe entspricht der Anzahl der Elemente, wenn keine Werte für Gewichte vorhanden sind.
Konvertieren Sie eine Zeichenfolge in eine Ganzzahl
Kehrt zurück:
retval, [sum_of_weights]: array_type oder double
Diese Funktion gibt entweder den Durchschnitt oder sowohl den Durchschnitt als auch die Summe der Gewichte zurück, die vom zurückgegebenen Parameter abhängen.
Erhöht:
ZeroDivisionError
Dieser Fehler wird ausgelöst, wenn alle Gewichte entlang der Achse auf Null gesetzt werden.
TypeError
Java MVC
Dieser Fehler wird ausgelöst, wenn die Länge des gewichteten Arrays nicht mit der Form des Eingabearrays übereinstimmt.
Beispiel 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Ausgabe:
[1, 2, 3, 4, 5] 3.0
Im obigen Code:
Konvertieren Sie str in int
- Wir haben numpy mit dem Aliasnamen np importiert.
- Wir haben eine Liste von Elementen erstellt 'Daten' .
- Wir haben die Variable deklariert 'Ausgabe' und den zurückgegebenen Wert von zugewiesen Durchschnitt() Funktion.
- Wir haben die Liste bestanden 'Daten' in der Funktion.
- Zuletzt haben wir versucht, das auszudrucken 'Daten' Und 'Ausgabe'
In der Ausgabe wird der Durchschnitt der Listenelemente angezeigt.
Beispiel 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Ausgabe:
5.666666666666667
Beispiel 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
Ausgabe:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
Im obigen Code:
- Wir haben numpy mit dem Aliasnamen np importiert.
- Wir haben ein Array erstellt 'Daten' verwenden arange() Und np.reshape() Funktion.
- Wir haben die Variable deklariert 'Ausgabe' und den zurückgegebenen Wert von zugewiesen Durchschnitt() Funktion.
- Wir haben das Array übergeben 'Daten' , Achse auf 1 und gewichtetes Array in der Funktion setzen.
- Zuletzt haben wir versucht, das auszudrucken 'Daten' Und 'Ausgabe'
In der Ausgabe wird der Durchschnitt aller Spaltenelemente im Array angezeigt.
Beispiel 4:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
Ausgabe:
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.