Я посмотрел документацию и думаю, что следующий пример оттуда должен объяснить, что индексирование:
Из массива 4x3 угловые элементы должны быть выбраны с использованием расширенной индексации.Таким образом, необходимо выбрать все элементы, для которых столбец является одним из [0, 2], а строка является одним из [0, 3].Чтобы использовать расширенную индексацию, нужно явно выбрать все элементы.Используя метод, описанный ранее, можно написать:
x = array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[9, 10, 11]])
rows = np.array([[0, 0],
[3, 3]], dtype=np.intp)
columns = np.array([[0, 2],
[0, 2]], dtype=np.intp)
x[rows, columns]
последняя строка дает код
array([[0, 2],
[9, 11]])
в вашем вопросе, кажется, выполняет ту же операцию (но с другими значениями), что инапример, но с использованием индексов хлопания напрямую, а не создания rows
и columns
.
X[[[0, 1], [0, 1]], [[0, 0], [-1, -1]]]
могут быть прочитаны как элементы get, считая от 0
: (в 0
th или 1
строка) и (в 0
или последнем столбце)