logo

numpy.average() Python

Python modulis numpy suteikia funkciją, vadinamą numpy.average(), naudojamą svertiniam vidurkiui išilgai nurodytos ašies apskaičiuoti.

Sintaksė:

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

Parametrai:

x: panašus į masyvą

Šis parametras apibrėžia šaltinio masyvą, kurio elemento vidurkį norime apskaičiuoti. Bus bandoma konvertuoti, jei „x“ yra masyvas.

ašis: int arba None arba eilė int (neprivaloma)

Šis parametras apibrėžia ašį, pagal kurią bus skaičiuojamas vidurkis. Pagal numatytuosius nustatymus ašis nustatyta kaip Nėra, kuri apskaičiuos visų šaltinio masyvo elementų vidurkį. Skaičiai prasideda nuo pabaigos iki pradžios ašies, kai ašies reikšmė yra neigiama.

svoriai: array_like (neprivaloma)

Šis parametras apibrėžia masyvą su svoriais, susijusiais su masyvo reikšmėmis. Kiekviena masyvo elementų reikšmė kartu sudaro vidurkį pagal susijusį svorį. Svertinis masyvas gali būti vienmatis arba tokios pat formos kaip įvesties masyvas. Kai su masyvo elementu nėra susieto svorio, visų elementų svoris bus laikomas 1.

grąžino: bool (neprivaloma)

Pagal numatytuosius nustatymus šis parametras nustatytas į False. Jei nustatysime jį kaip True, tada grąžinama vidurkio ir sum_of_weights eilutė. Jei klaidinga, grąžinamas vidurkis. Svertinė suma yra lygi elementų skaičiui, jei nėra svorių verčių.

Grąžinimai:

retval, [svorių_suma]: masyvo_tipas arba dvigubas

Ši funkcija grąžina vidurkį arba vidurkį ir sum_of_weights, kurie priklauso nuo grąžinamo parametro.

Pakelia:

ZeroDivision Error

Ši klaida padidėja, kai visi svoriai išilgai ašies nustatomi į nulį.

Tipo klaida

Ši klaida iškyla, kai svertinio masyvo ilgis nesutampa su įvesties masyvo forma.

1 pavyzdys:

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

Išvestis:

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

Aukščiau pateiktame kode:

  • Mes importavome numpy su slapyvardžiu np.
  • Sudarėme elementų sąrašą 'duomenys' .
  • Mes paskelbėme kintamąjį 'išvestis' ir priskyrė grąžintą reikšmę vidutinis () funkcija.
  • Mes įveikėme sąrašą 'duomenys' funkcijoje.
  • Galiausiai bandėme atspausdinti 'duomenys' ir 'išvestis'

Išvestyje jis rodo sąrašo elementų vidurkį.

2 pavyzdys:

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

Išvestis:

 5.666666666666667 

3 pavyzdys:

 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 

Išvestis:

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

Aukščiau pateiktame kode:

  • Mes importavome numpy su slapyvardžiu np.
  • Sukūrėme masyvą 'duomenys' naudojant arange () ir np.reshape() funkcija.
  • Mes paskelbėme kintamąjį 'išvestis' ir priskyrė grąžintą reikšmę vidutinis () funkcija.
  • Mes praėjome masyvą 'duomenys' , nustatykite ašį į 1 ir funkcijoje svertinį masyvą.
  • Galiausiai bandėme atspausdinti 'duomenys' ir 'išvestis'

Išvestyje jis rodo kiekvieno masyvo stulpelio elementų vidurkį.

4 pavyzdys:

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

Išvestis:

 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. 

Pastaba: Išvestyje rodoma tipo klaida: „Ašis turi būti nurodyta, kai skiriasi duomenų ir svorių formos“, nes „svorių“ masyvo forma nėra tokia pati kaip įvesties masyvo „duomenys“.