NumPy Array Slicing


Rozřezávání polí

Slicování v pythonu znamená přebírání prvků z jednoho daného indexu do jiného daného indexu.

Místo indexu předáme řez takto: .[start:end]

Krok můžeme také definovat takto: .[start:end:step]

Pokud neprojdeme, začátek je považován za 0

Pokud neprojdeme konec jeho uvažované délky pole v této dimenzi

Pokud neprojdeme krokem, považuje se to za 1

Příklad

Rozdělit prvky od indexu 1 do indexu 5 z následujícího pole:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5])

Poznámka: Výsledek zahrnuje počáteční index, ale nezahrnuje koncový index.

Příklad

Rozdělit prvky od indexu 4 do konce pole:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[4:])

Příklad

Prvky výřezu od začátku do indexu 4 (není součástí dodávky):

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[:4])


Negativní krájení

K odkazování na index od konce použijte operátor mínus:

Příklad

Řez od indexu 3 od konce k indexu 1 od konce:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[-3:-1])

KROK

Pomocí stephodnoty určete krok krájení:

Příklad

Vraťte každý další prvek z indexu 1 do indexu 5:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5:2])

Příklad

Vraťte všechny ostatní prvky z celého pole:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[::2])

Krájení 2-D polí

Příklad

Z druhého prvku rozdělit prvky od indexu 1 do indexu 4 (nezahrnuto):

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[1, 1:4])

Poznámka: Pamatujte, že druhý prvek má index 1.

Příklad

Z obou prvků vraťte index 2:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 2])

Příklad

Z obou prvků, index řezu 1 až index 4 (není zahrnuto), to vrátí 2-D pole:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 1:4])

Otestujte se pomocí cvičení

Cvičení:

Chcete-li vytisknout následující výběr pole, vložte správnou syntaxi dělení:

Vše od (včetně) druhé položky po (bez) páté položky.

arr = np.array([10, 15, 20, 25, 30, 35, 40])

print(arr)