Numpy, 2. rész alapműveletek a tömbökön, python 3 kezdőknek és begépelésnek

Üdvözlünk! Továbbra is dolgozom a Python-könyvtár NumPy kézikönyvében.

Az utolsó részben megtudtuk, hogyan lehet létrehozni tömböket és kinyomtatni őket. Ennek azonban nincs értelme, ha semmit sem lehet tenni velük.

Ma megismerjük a tömbök működését.

Alapműveletek

A tömbökre vonatkozó matematikai műveletek elemek szerint kerülnek végrehajtásra. Új tömb jön létre, amely tele van az operátor művelet eredményével.

Ehhez természetesen a tömböknek azonos méretűnek kell lenniük.

Matematikai műveletek elvégezhetők egy tömb és egy szám között is. Ebben az esetben minden szám hozzáadásra kerül (vagy bármit is csinál) ezzel a számmal.

NumPy sok matematikai műveletet is biztosít a tömbök feldolgozásához:

A teljes lista megtalálható itt.

Számos unary művelet, mint például a tömb minden elemének összegének kiszámítása, szintén a megosztási osztály módszereinek tekinthető.

Alapértelmezés szerint ezek a műveletek a tömbre vonatkoznak, mintha számok listája lenne, függetlenül annak alakjától. Azonban a tengelyparaméter megadásával egy műveletet alkalmazhat a tömb meghatározott tengelyére:

Indexek, szeletek, iterációk

Az egydimenziós tömbök indexelést, szeletelést és iterációs műveleteket végeznek, hasonlóan a rendszeres listákhoz és más Python szekvenciákhoz (hacsak nem törölheti őket szeletekkel).

A többdimenziós tömbök tengelyenként egy indexet tartalmaznak. Az indexeket vesszõvel elválasztott számsorok formájában (azaz vesszõkkel) továbbítják:

Ha az indexek kisebbek a tengelyeknél, a hiányzó mutatókat szeletekkel kell kiegészíteni:

Például, ha az x értéke 5-ös (vagyis 5 tengelye van), akkor

  • x [1, 2] egyenérték x [1, 2],
  • x [. 3] megegyezik az x [. 3] és
  • x [4. 5.] ez x [4. 5.].

A többdimenziós tömbök ionizálása az első tengelyen kezdődik:

Ha azonban az egész elemet elemenként kell átvinni, mintha csak egydimenziós lenne, akkor használhatja a lapos attribútumot:

Az űrlap manipulálása

Amint már említettük, a tömbnek az egyes tengelyek mentén található elemek számával meghatározott alakja van:

A tömb alakja megváltoztatható különböző parancsokkal:

A tömb elemeinek sorrendje a ravel () függvény következtében a szokásos "C-stílushoz" illeszkedik, vagyis a jobbra az index, a "gyorsabban változik": az a elem után [0,0] következik [0,1]. Ha a tömb egyik formáját másikra cseréltük, akkor a tömböket szintén "C-stílusban" alakítjuk ki. A ravel () és a reshape () függvények szintén működhetnek (opcionális argumentum használatával) a FORTRAN stílusban, ahol a baloldali index gyorsabban változik.

A reshape () metódus megváltoztatott formában visszaküldi az argumentumát, míg a resize () metódus maga módosítja a tömböt:

Ha az argumentumok egyikét -1-ben adjuk meg egy ilyen újjáépítés során, akkor automatikusan kiszámítjuk a fennmaradó értékek szerint:

Kombinálva a rétegeket

A többszörös tömbök különböző tengelyek mentén kombinálhatók a hstack és a stack funkciók segítségével.

hstack () ötvözi az első tengely mentén lévő tömböket, vstack () - az utolsó:

A column_stack () függvény az egydimenziós tömböket kétdimenziós tömb oszlopaként egyesíti:

Hasonlóképpen, a soroknál létezik egy függvény row_stack ().

Partíció felosztása

A hsplit () segítségével a tömböt vízszintes tengely mentén oszthatja meg, megadva az azonos alakú visszatért tömbök számát vagy az oszlopok számát, amelyek után a tömb "ollóval" vágódik:

Az vsplit () függvény a függőleges tengely mentén osztja a tömböt, és az array_split () lehetővé teszi a tengelyek azonosítását, amelyek mentén a partíció megtörténik.

Másolatok és ábrázolások

Amikor tömbökkel dolgozik, néha át kell másolnia adataikat egy másik tömbre, és néha nem. Ez gyakran összetéveszthető. Valószínűleg 3 eset van:

Egyetlen példány sem

Az egyszerű hozzárendelés nem hoz létre a tömb másolatát, sem az adatok másolatát:

A Python a módosított objektumokat referenciaként adja át, így a függvényhívások nem készítenek másolatokat.

Nézet vagy felületi másolat

A különböző tömb objektumok ugyanazokat az adatokat használhatják. A view () metódus új tömb objektumot hoz létre, amely ugyanazokból az adatokból áll.

Egy tömb kivágása egy reprezentáció:

Mély másolat

Kapcsolódó cikkek