Szintaxis:
A mozgóátlagot többféleképpen számíthatjuk ki, amelyek a következők:
1. módszer:
NumPy. cumsum ( )Az adott tömb elemeinek összegét adja vissza. A mozgóátlagot úgy számíthatjuk ki, hogy a cumsum() kimenetét elosztjuk a tömb méretével.
2. módszer:
NumPy. és . átlagos ( )A következő paraméterekkel rendelkezik.
a: tömb formájú adat, amelyet átlagolni kell.
tengely: adattípusa int és opcionális paraméter.
súly: ez is egy tömb és opcionális paraméter. Ugyanolyan alakú lehet, mint egy 1-D alakzat. Egydimenziós tömbnél egyenlő hosszúságúnak kell lennie az „a” tömbével.
Vegye figyelembe, hogy úgy tűnik, hogy a NumPy-ban nincs szabványos függvény a mozgóátlag kiszámításához, így ez más módszerekkel is elvégezhető.
3. módszer:
A mozgóátlag kiszámítására használható másik módszer:
például. összecsavar ( a , ban ben , mód = 'teljes' )Ebben a szintaxisban a az első bemeneti dimenzió, a v pedig a második bemeneti dimenzióérték. A Mode az opcionális érték, lehet teljes, azonos és érvényes.
01. példa:
Most, hogy jobban elmagyarázzuk a Numpy mozgóátlagát, mondjunk egy példát. Ebben a példában kivesszük egy tömb mozgóátlagát a NumPy convolve függvényével. Tehát egy „a” tömböt veszünk, amelynek elemei 1,2,3,4,5. Most meghívjuk az np.convolve függvényt, és a kimenetét a „b” változónkban tároljuk. Ezt követően kiírjuk a „b” változónk értékét. Ez a függvény kiszámítja a bemeneti tömbünk mozgó összegét. Kinyomtatjuk a kimenetet, hogy megnézzük, helyes-e a kimenetünk vagy sem.
Ezt követően a kimenetünket mozgóátlagra konvertáljuk ugyanazzal a konvolválási módszerrel. A mozgóátlag kiszámításához csak el kell osztanunk a mozgó összeget a minták számával. De a fő probléma itt az, hogy mivel ez egy mozgóátlag, a minták száma folyamatosan változik attól függően, hogy hol vagyunk. Tehát a probléma megoldásához egyszerűen létrehozunk egy listát a nevezőkről, és ezt átlagba kell alakítanunk.
Ebből a célból inicializáltunk egy másik „denom” változót a nevező számára. A tartomány trükk használatával egyszerű a lista megértése. Tömbünk öt különböző elemből áll, így az egyes helyeken lévő minták száma egyről ötre, majd ötről egyre csökken. Tehát egyszerűen összeadunk két listát, és eltároljuk őket a „denom” paraméterünkben. Most kinyomtatjuk ezt a változót, hogy ellenőrizzük, hogy a rendszer megadta-e a valódi nevezőket vagy sem. Ezt követően mozgó összegünket elosztjuk a nevezőkkel, és kinyomtatjuk úgy, hogy a kimenetet a „c” változóban tároljuk. Az eredmények ellenőrzéséhez futtassuk le a kódunkat.
import zsibbadt mint például.a = [ 1 , két , 3 , 4 , 5 ]
b = például. összecsavar ( a , például. onees_like ( a ) )
nyomtatás ( 'Mozgó összeg' , b )
név = lista ( hatótávolság ( 1 , 5 ) ) + lista ( hatótávolság ( 5 , 0 , - 1 ) )
nyomtatás ( 'Nevezők' , név )
c = például. összecsavar ( a , például. onees_like ( a ) ) / név
nyomtatás ( 'Mozgóátlag ' , c )
Kódunk sikeres végrehajtása után a következő kimenetet kapjuk. Az első sorban a „Mozgó összeget” nyomtattuk. Láthatjuk, hogy a tömb elején „1”, a végén pedig „5” van, ugyanúgy, mint az eredeti tömbünkben. A többi szám a tömbünk különböző elemeinek összege.
Például a tömb harmadik indexén lévő hat az 1, 2 és 3 bemeneti tömbünkből való összeadásából származik. A negyedik index tíz értéke 1, 2, 3 és 4-ből származik. A tizenöt az összes szám összegzéséből származik, és így tovább. Most a kimenetünk második sorában kinyomtattuk tömbünk nevezőit.
Kimenetünkből láthatjuk, hogy az összes nevező pontos, ami azt jelenti, hogy a mozgó összegű tömbünkkel oszthatjuk őket. Most lépjen a kimenet utolsó sorára. Az utolsó sorban láthatjuk, hogy a mozgóátlagos tömbünk első eleme 1. Az 1 átlaga 1, tehát az első elemünk helyes. Az 1+2/2 átlaga 1,5 lesz. Láthatjuk, hogy a kimeneti tömbünk második eleme 1,5, tehát a második átlag is helyes. Az 1,2,3 átlaga 6/3=2 lesz. Ez is helyessé teszi a kimenetünket. A kimenetből tehát azt mondhatjuk, hogy sikeresen kiszámítottuk egy tömb mozgóátlagát.
Következtetés
Ebben az útmutatóban megismerkedtünk a mozgóátlagokkal: mi az a mozgóátlag, mi a felhasználása, és hogyan számítható ki a mozgóátlag. Részletesen tanulmányoztuk mind matematikai, mind programozási szempontból. A NumPy-ban nincs konkrét függvény vagy folyamat a mozgóátlag kiszámítására. De vannak más egyéb függvények is, amelyek segítségével a mozgóátlagot kiszámíthatjuk. Példát készítettünk a mozgóátlag kiszámítására, és leírtuk a példánk minden lépését. A mozgóátlagok hasznos megközelítést jelentenek a jövőbeli eredmények előrejelzésére a meglévő adatok segítségével.