A Python numpy modulja biztosít egy numpy.average() függvényt, amely a súlyozott átlag kiszámítására szolgál a megadott tengely mentén.
Szintaxis:
numpy.average(a, axis=None, weights=None, returned=False)
Paraméterek:
x: array_like
Ez a paraméter határozza meg azt a forrástömböt, amelynek elemeinek átlagát ki szeretnénk számítani. A rendszer megkísérli az átalakítást, ha az 'x' egy tömb.
tengely: int vagy None vagy ints sor (opcionális)
különbség a tömb és a tömblista között
Ez a paraméter határozza meg azt a tengelyt, amely mentén az átlagot számítani kell. Alapértelmezés szerint a tengely beállítása Nincs, ami a forrástömb összes elemének átlagát számítja ki. A számlálások a végétől a kezdőtengelyig indulnak, ha a tengely értéke negatív.
súlyok : array_like (opcionális)
Ez a paraméter a tömbértékekhez társított súlyokat tartalmazó tömböt határoz meg. A tömbelemek minden értéke együttesen adja az átlagot a hozzájuk tartozó súlynak megfelelően. A súlyozott tömb lehet egydimenziós vagy ugyanolyan alakú, mint a bemeneti tömb. Ha nincs súly hozzárendelve a tömbelemhez, akkor a súly minden elemnél 1-ként lesz kezelve.
visszaadott: bool (nem kötelező)
Alapértelmezés szerint ez a paraméter False. Ha igaznak állítjuk be, akkor az átlag és a súlyok_összege egy sorát adjuk vissza. Ha hamis, akkor a rendszer az átlagot adja vissza. A súlyozott összeg megegyezik az elemek számával, ha nincsenek súlyértékek.
stdin c programozás
Visszaküldés:
retval, [súlyok_összege]: array_type vagy double
Ez a függvény vagy az átlagot adja vissza, vagy az átlagot és a súlyok_összegét is, amelyek a visszaadott paramétertől függenek.
Emeli:
ZeroDivisionError
Ez a hiba akkor lép fel, ha a tengely mentén minden súly nullára van állítva.
TypeError
hogyan kell olvasni csv fájlból java-ban
Ez a hiba akkor lép fel, ha a súlyozott tömb hossza nem egyezik meg a bemeneti tömb alakjával.
1. példa:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Kimenet:
[1, 2, 3, 4, 5] 3.0
A fenti kódban:
ábécé számokhoz
- Importáltuk a numpy-t np aliasnévvel.
- Összeállítottunk egy listát az elemekről 'adat' .
- Deklaráltuk a változót 'Kimenet' és hozzárendelte a visszaadott értékét átlagos() funkció.
- A listán túljutottunk 'adat' a függvényben.
- Végül megpróbáltuk kinyomtatni a 'adat' és 'Kimenet'
A kimenetben a listaelemek átlagát mutatja.
2. példa:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Kimenet:
5.666666666666667
3. példa:
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
Kimenet:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
A fenti kódban:
- Importáltuk a numpy-t np aliasnévvel.
- Létrehoztunk egy tömböt 'adat' segítségével arange() és np.reshape() funkció.
- Deklaráltuk a változót 'Kimenet' és hozzárendelte a visszaadott értékét átlagos() funkció.
- Túljutottunk a tömbön 'adat' , állítsa az tengelyt 1-re, és a súlyozott tömböt a függvényben.
- Végül megpróbáltuk kinyomtatni a 'adat' és 'Kimenet'
A kimenetben a tömb egyes oszlopelemeinek átlagát mutatja.
4. példa:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
Kimenet:
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.