Срезы и индексация в NumPy
К содержимому объекта ndarray можно получать доступ и изменять его с помощью индексирования или срезов, точно так же, как при операциях срезов со списками в Python.
Массивы ndarray можно индексировать по нижним индексам от 0 до n. Объекты срезов можно создавать с помощью встроенной функции slice, а задав параметры start, stop и step, можно вырезать новый массив из исходного массива.
Пример
Результат вывода:
[2 4 6]
В приведённом выше примере мы сначала создали объект ndarray с помощью функции arange(). Затем мы установили параметры start, stop и step равными 2, 7 и 2 соответственно.
Мы также можем использовать разделённые двоеточием параметры срезаstart:stop:stepдля выполнения операций среза:
Пример
Результат вывода:
[2 4 6]
Двоеточие:Объяснение: если указан только один параметр, например[2], будет возвращён единственный элемент, соответствующий этому индексу. Если это[2:], это означает, что все элементы начиная с этого индекса будут извлечены. Если используются два параметра, например[2:7], тогда элементы между двумя индексами (исключая индекс остановки) будут извлечены.
Пример
Результат вывода:
5
Пример
Результат вывода:
[2 3 4 5 6 7 8 9]
Пример
Результат вывода:
[2 3 4]
Многомерные массивы также используют тот же метод индексации и извлечения, что и выше:
Пример
Результат вывода:
[[1 2 3] [3 4 5] [4 5 6]] 从数组索引 a[1:] 处开始切割 [[3 4 5] [4 5 6]]
Срез также может включать многоточие…, чтобы длина кортежа выбора совпадала с размерностью массива. Если многоточие используется в позиции строки, будет возвращён ndarray, содержащий элементы в этой строке.
Пример
Результат вывода:
[2 4 5] [3 4 5] [[2 3] [4 5] [5 6]]Другие расширения