logo

numpy.average() în Python

Modulul numpy din Python oferă o funcție numită numpy.average(), utilizată pentru calcularea mediei ponderate de-a lungul axei specificate.

Sintaxă:

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

Parametri:

x: array_like

Acest parametru definește matricea sursă a cărei medie a elementului dorim să o calculăm. Conversia va fi încercată dacă „x” este o matrice.

axa: int sau None sau tuplu de int (opțional)

Acest parametru definește axa de-a lungul căreia urmează să fie calculată media. În mod implicit, axa este setată la None, care va calcula media tuturor elementelor matricei sursă. Numărările încep de la sfârșit la axa de pornire când valoarea axei este negativă.

avl rotația arborelui

greutăți: array_like (opțional)

Acest parametru definește o matrice care conține greutăți asociate cu valorile matricei. Fiecare valoare a elementelor matricei împreună face media în funcție de greutatea asociată. Matricea ponderată poate fi unidimensională sau de aceeași formă ca și matricea de intrare. Când nu există nicio greutate asociată cu elementul de matrice, greutatea va fi tratată ca 1 pentru toate elementele.

returnat: bool (opțional)

În mod implicit, acest parametru este setat la Fals. Dacă îl setăm ca True, atunci este returnat un tuplu de medie și sum_of_weights. Dacă este fals, se returnează media. Suma ponderată este echivalentă cu numărul de elemente dacă nu există valori pentru ponderi.

Se intoarce:

retval, [sum_of_weights]: array_type sau double

Această funcție returnează fie media, fie atât media, cât și sum_of_weights care depind de parametrul returnat.

Creșteri:

ZeroDivisionError

Această eroare apare atunci când toate greutățile de-a lungul axei sunt setate la zero.

Eroare de scris

Această eroare apare atunci când lungimea matricei ponderate nu este aceeași cu forma matricei de intrare.

Exemplul 1:

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

Ieșire:

 [1, 2, 3, 4, 5] 3.0 

În codul de mai sus:

  • Am importat numpy cu numele de alias np.
  • Am creat o listă de elemente 'date' .
  • Am declarat variabila „ieșire” și a atribuit valoarea returnată a in medie() funcţie.
  • Am trecut de lista 'date' in functie.
  • În cele din urmă, am încercat să tipărim 'date' și „ieșire”

În rezultat, arată media elementelor listei.

Exemplul 2:

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

Ieșire:

 5.666666666666667 

Exemplul 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 

Ieșire:

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

În codul de mai sus:

  • Am importat numpy cu numele de alias np.
  • Am creat o matrice 'date' folosind aranja () și np.reshape() funcţie.
  • Am declarat variabila „ieșire” și a atribuit valoarea returnată a in medie() funcţie.
  • Am trecut matricea 'date' , setați axa la 1 și matricea ponderată în funcție.
  • În cele din urmă, am încercat să tipărim 'date' și „ieșire”

În rezultat, arată media fiecărei elemente de coloană din matrice.

opacitatea tranziției css

Exemplul 4:

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

Ieșire:

 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. 

Notă: Ieșirea arată o eroare de tip: „Axa trebuie specificată atunci când formele datelor și greutățile diferă”, deoarece forma matricei „greutăți” nu este aceeași cu cea a matricei de intrare „date”.