Резка массивов NumPy

Срез массива

Значение среза в Python - это вырезка элементов из массива от одного заданного индекса до другого.

Мы передаем срез вместо индексов, как это:[start:end].

Мы также можем определить шаг, например:[start:end:step].

Если мы не передаем start, то его считают 0.

Если мы не передаем end, то считается длиной массива в этой维度.

Если мы не передаем step, то считается 1.

Пример

Срезаем элементы из массива по индексам 1 до 5:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])

Запуск примера

Комментарий:Результат включает начальный индекс, но не включает конечный индекс.

Пример

Вырезать элементы от индекса 4 до конца массива:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[4:])

Запуск примера

Пример

Вырезать элементы от начала до индекса 4 (не включая):

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[:4])

Запуск примера

Отрицательное вырезание

Используйте оператор вычитания для ссылки на индексы с конца:

Пример

Вырезать от индекса 3 до индекса 1 с конца:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[-3:-1])

Запуск примера

Шаг

Используйте значение step для определения шага вырезания:

Пример

Вернуть элементы от индекса 1 до индекса 5, шаг 2:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5:2])

Запуск примера

Пример

Вернуть элементы с интервалом:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[::2])

Запуск примера

Вырезать 2-D массив

Пример

Начать с второго элемента, вырезать элементы с индекса 1 до индекса 4 (не включая):

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

Запуск примера

Комментарий:Пamiętaj, że индекс второго элемента составляет 1.

Пример

Вернуть индекс 2 из двух элементов:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 2])

Запуск примера

Пример

Вырезать индексы от двух элементов 1 до индекса 4 (не включая), это вернет 2-D массив:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 1:4])

Запуск примера