logo

numpy.average() programmā Python

Python modulis numpy nodrošina funkciju, ko sauc par numpy.average(), ko izmanto, lai aprēķinātu vidējo svērto vērtību pa norādīto asi.

Sintakse:

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

Parametri:

x: masīva_līdzīgs

Šis parametrs nosaka avota masīvu, kura elementa vidējo vērtību vēlamies aprēķināt. Ja “x” ir masīvs, tiks mēģināts konvertēt.

ass: int vai None vai int korte (pēc izvēles)

Šis parametrs nosaka asi, pa kuru tiks aprēķināts vidējais rādītājs. Pēc noklusējuma ass ir iestatīta uz Nav, kas aprēķinās visu avota masīva elementu vidējo vērtību. Skaitļi sākas no beigu līdz sākuma asij, kad ass vērtība ir negatīva.

svari : array_like (neobligāti)

Šis parametrs definē masīvu, kurā ir ar masīva vērtībām saistītie svari. Katra masīva elementu vērtība kopā veido vidējo vērtību atbilstoši tai saistītajam svaram. Svērtais masīvs var būt viendimensijas vai tādas pašas formas kā ievades masīvs. Ja ar masīva elementu nav saistīts svars, svars tiks uzskatīts par 1 visiem elementiem.

atgriezts: bool (neobligāti)

Pēc noklusējuma šis parametrs ir iestatīts uz False. Ja mēs to iestatām kā True, tad tiek atgriezts vidējā un sum_of_weights. Ja tas ir False, tiek atgriezts vidējais rādītājs. Svērtā summa ir vienāda ar elementu skaitu, ja svariem nav vērtību.

Atgriež:

retval, [svaru_summa]: masīva_veids vai dubultā

Šī funkcija atgriež vidējo vērtību vai gan vidējo, gan sum_of_weights, kas ir atkarīgi no atgrieztā parametra.

Paaugstina:

ZeroDivision Error

Šī kļūda tiek palielināta, ja visi svari gar asi ir iestatīti uz nulli.

Tipa kļūda

Šī kļūda rodas, ja svērtā masīva garums nav tāds pats kā ievades masīva forma.

1. piemērs:

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

Izvade:

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

Iepriekš minētajā kodā:

  • Mēs esam importējuši numpy ar aizstājvārdu np.
  • Mēs esam izveidojuši elementu sarakstu 'dati' .
  • Mēs esam deklarējuši mainīgo 'izeja' un piešķirta atgrieztā vērtība vidējais () funkciju.
  • Esam izturējuši sarakstu 'dati' funkcijā.
  • Visbeidzot, mēs mēģinājām izdrukāt 'dati' un 'izeja'

Izvadā tas parāda saraksta elementu vidējo vērtību.

2. piemērs:

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

Izvade:

 5.666666666666667 

3. piemērs:

 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 

Izvade:

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

Iepriekš minētajā kodā:

metodes ignorēšana Java
  • Mēs esam importējuši numpy ar aizstājvārdu np.
  • Mēs esam izveidojuši masīvu 'dati' izmantojot arange () un np.reshape() funkciju.
  • Mēs esam deklarējuši mainīgo 'izeja' un piešķirta atgrieztā vērtība vidējais () funkciju.
  • Mēs esam izturējuši masīvu 'dati' , iestatiet asi uz 1 un funkcijā svērto masīvu.
  • Visbeidzot, mēs mēģinājām izdrukāt 'dati' un 'izeja'

Izvadā tas parāda katra masīva kolonnas elementa vidējo vērtību.

4. piemērs:

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

Izvade:

 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. 

Piezīme. Izvadē tiek parādīta tipa kļūda: “Asis ir jānorāda, ja datu un svaru formas atšķiras”, jo “svaru” masīva forma nav tāda pati kā ievades masīva “dati”.