Функция take
Функция take возвращает новый массив, содержащий элементы
из исходного массива, расположенные по заданным индексам.
Первым параметром функция принимает исходный массив,
вторым - индексы элементов, которые нужно извлечь.
Третьим параметром можно указать ось, вдоль которой производится выборка.
Синтаксис
np.take(arr, indices, [axis])
Пример
Давайте выберем элементы из одномерного массива по заданным индексам:
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
res = np.take(arr, [0, 2, 4])
print(res)
Результат выполнения кода:
[10 30 50]
Пример
Давайте выберем элементы из двумерного массива по индексам на оси 0:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
res = np.take(arr, [0, 2], axis=0)
print(res)
Результат выполнения кода:
[[1 2 3]
[7 8 9]]
Пример
Давайте выберем элементы из двумерного массива по индексам на оси 1:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
res = np.take(arr, [0, 2], axis=1)
print(res)
Результат выполнения кода:
[[1 3]
[4 6]
[7 9]]
Пример
Давайте используем отрицательные индексы для выборки элементов с конца:
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
res = np.take(arr, [-1, -2, -3])
print(res)
Результат выполнения кода:
[50 40 30]
Пример
Давайте выберем элементы с повторяющимися индексами:
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
res = np.take(arr, [1, 1, 3, 3, 4])
print(res)
Результат выполнения кода:
[20 20 40 40 50]