Indexovanie a rezanie
JupyterLab
Numpy
Polia
Skaláry
Vektory
Matice
Indexy
Submatice
Rezanie
🔎 Úvod
Táto kapitola pokrýva základné aj pokročilé techniky indexovania a rezania ndarray
: 1D/2D indexovanie, záporné indexy, výrezy [start:stop:step]
, boolean (maskové).
📦 Nastavenie a ukážkové dáta
🗂️ Základné indexovanie
1️⃣ Vektory
Prvý prvok
Posledný prvok
N-tý prvok
2️⃣ Matice
Jeden prvok v danom riadku a stĺpci
Celý riadok a stĺpec
🪚 Rezanie – slicing [start:stop:step]
1️⃣ Vektory
Rozsah medzi konkrétnymi indexami
Rozsah od začiatku po konkrétny index
Rozsah indexu po koniec
Každý n-tý prvok
Obrátené pole (vektor)
2️⃣ (Sub)matice
Submatica: riadky 0..1, stĺpce 1..3
Submatica: každý druhý riadok, všetky stĺpce
Submatica: všetky riadky, každý druhý stĺpec
⚔️ View vs Copy - ⚠️ pozor na zdieľanie pamäte ⚠️
Kód
Subvektor B (pohľad na vektor x) =
[2 3 4 5 6]
Kód
Vektor B (pohľad na x): [999 3 4 5 6]
Vektor x (zmenená hodnota B): [ 0 1 999 3 4 5 6 7 8 9]
Kód
Pôvodný vektor x =
[ 0 1 999 3 4 5 6 7 8 9]
Vektor C (Kópia x): [-1 3 4 5 6]
Vektor x (nezmenená hodnota C): [ 0 1 999 3 4 5 6 7 8 9]
🧪 Pokročilé indexovanie
⚖️ Boolean (maskové) indexovanie
Kód
Pôvodný vektor x =
[ 0 1 999 3 4 5 6 7 8 9]
mask: [ True False False False True False True False True False]
párne: [0 4 6 8]
párne: [0 4 6 8]
🗒️ Fancy indexovanie (zoznamy/polia indexov)
⚗️ Miešanie integer a slice indexov
Kód
[5 6 7 8]
[ 2 6 10]
[[ 5 7]
[ 9 11]]
🧠 Zhrnutie
slice
vracia view (zdieľanú pamäť), používajte.copy()
ak chcete nezávislé dáta- Používajte
:
pre celé osi (A[:, 1]
) - Záporné indexy rátajú od konca (
x[-1]
)
📚 Oficiálna dokumentácia NumPy
Podrobný popis funkcií, ich parametrov a príkladov použitia nájdete v oficiálnej dokumentácii knižnice NumPy na adrese: https://numpy.org/doc/stable/.