Я занимаюсь чтением через Python для анализа данных Wes Mckinney, и я столкнулся со следующим примером, который немного запутан. Он относится к передаче нескольких массивов индексов в массив np.Индексирование с помощью Numpy инвертировано
Учитывая следующие np.array
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]
[16 17 18 19]
[20 21 22 23]
[24 25 26 27]
[28 29 30 31]]
, когда мы выполняем фантазии индексации массива, используя следующие значения
arr[[1, 5, 7, 2], [0, 3, 1, 2]]
следующих результатов
array([ 4, 23, 29, 10])
Это не совсем что бы я ожидал> Я понимаю, что он должен возвращать массив элементов размером 1 д. ding для каждого примера. Фактические значения, которые он возвращает, меня смущает.
Кортежи следует возвращающиеся на мой взгляд, будет (0,1), (5,3), (7, 1), (2, 2)
, которые должны вернуть [4, нет такого элемент, нет такого элемента, 10]
Что именно мне не хватает?
(5, 3) и (7, 1) существуют в вашем массиве, почему вы ожидаете «нет такого элемента» для них? –
Думаю, вы смешиваете строки и столбцы. Первый элемент - это элемент в позиции «Матрица [1,0]», что, в свою очередь, означает: Дайте мне элемент, который находится во второй строке первого столбца. – cel
Я бы ожидал, что он вернет значение [x, y], я очень новичок в python, поэтому он просто кажется отличным от условностей на других языках. так эффективно возвращает [y, x] –