Почему вывод такой?Я не понимаю, как работает индексация - PullRequest
1 голос
/ 20 сентября 2019

Как это индексировать?Почему вывод [1,4,5]?

Я следую инструкциям по http://cs231n.github.io/python-numpy-tutorial/#numpy

a = np.array([[1,2], [3, 4], [5, 6]])

# An example of integer array indexing.
# The returned array will have shape (3,) and
print(a[[0, 1, 2], [0, 1, 0]])  # Prints "[1 4 5]"

1 Ответ

3 голосов
/ 20 сентября 2019

Это называется необычным индексированием в numpy.

Вы можете отобразить первый и второй список как оси X и Y.Таким образом, a[[0,1,2],[0,1,0]] похоже на получение трех элементов, координаты которых (0,0), (1,1), (2,0) из a.

a[0,0] # 1
a[1,1] # 4
a[2,0] # 5
...