Lekce 25 - NumPy - Výběr dat - Pohled a kopie
V předchozím kvízu, Kvíz - Lineární algebra, ufunc, slicing v NumPy, jsme si ověřili nabyté zkušenosti z předchozích lekcí.
V dnešním tutoriálu knihovny NumPy v Pythonu si
vysvětlíme rozdíl mezi pohledy a kopiemi
při slicingu v NumPy. Dále si ukážeme, jak
pokročilé indexování, metoda
copy()
, nesouvislá data, ale i změna
tvaru pole nebo reorganizace paměti ovlivňují
tvorbu kopií polí. Také prozkoumáme metody
reshape()
a ravel()
.
Výběr dat v NumPy
Při práci s poli v NumPy pomocí slicingu se setkáme se dvěma důležitými koncepty:
- pohledy,
- kopie.
Zatímco u seznamů v Pythonu slicing vždy vytvoří novou kopii dat, v NumPy ve většině případů vrací takzvaný pohled. Ten si můžeme představit jako okno do původního pole. Neukládá žádná nová data, ale pouze odkazuje na stejnou paměťovou oblast, kterou sdílí s původním polem. Pohled jinými slovy obsahuje pouze informace o tom, jak přistupovat k datům v původním poli, jako jsou počáteční a koncové indexy nebo krok.
Vracení pohledu
Slicing v NumPy obvykle vrací pohled, pokud se jedná o souvislý úsek dat v paměti. Pohled sdílí stejnou paměť jako původní pole, takže změny v pohledu ovlivní původní data.
Ukažme si to na příkladu:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu knihovny NumPy v Pythonu si ukážeme rozdíl mezi pohledy a kopiemi při slicingu a některé metody a nástroje NumPy, jež ovlivňují jejich tvorbu.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.