Отбор по номерам в NumPy
В квадратных скобках можно передать массив целых индексов: NumPy вернёт значения в указанном порядке. Это не срез, а отбор по перечисленным позициям.
Создадим ряд и возьмём элементы
с номерами 0 и 2:
import numpy as np
scores = np.array([10, 20, 30, 40])
print(scores[np.array([0, 2])]) # выведет [10 30]
Порядок в списке номеров задаёт порядок в ответе. Можно повторить один и тот же индекс:
import numpy as np
temps = np.array([5, 15, 25])
print(temps[np.array([2, 0, 2])]) # выведет [25 5 25]
В таблице список номеров в скобках выбирает целые строки. Возьмём первые две строки матрицы:
import numpy as np
grid = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
])
print(grid[[0, 1]]) # выведет [[1 2 3] [4 5 6]]
Создайте ряд из чисел 3, 6,
9 и 12 и выведите
элементы с номерами 1 и
3.
Задайте таблицу 3 на 2
из последовательных целых, начиная
с 0, и выведите строки
с номерами 0 и 2.