Я нахожу индексирование в python для numpy массива странным - PullRequest
0 голосов
/ 02 апреля 2020

Я новичок в python и работаю над некоторыми манипуляциями с данными. Я думал, что индексирование в numpy будет [row] [column], но это не то, что я вижу, когда выполняю в python. Ниже приведен простой пример того, как ведет себя python. Я не понимаю, почему я получаю одинаковые результаты для последних двух команд:

import numpy as num

test_arr = num.array([[1, 2, 3],[4, 5, 6], [7, 8, 9]],dtype=num.float32)

test_arr[0][:]
array([1., 2., 3.], dtype=float32)

test_arr[:][0]
array([1., 2., 3.], dtype=float32)

Я ожидал бы

test_arr[0][:]
array([1., 2., 3.], dtype=float32)

test_arr[:][0]
array([1., 4., 7.], dtype=float32)

Может кто-нибудь объяснить, почему python ведет себя так же, как и как получить 0-й индекс всех строк?

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

для получения столбца в массиве numpy используйте [:,n], где n - номер вашего столбца

test_arr[:,0]
array([1., 4., 7.], dtype=float32)
0 голосов
/ 02 апреля 2020
In  : import numpy as num

In  : test_arr = num.array([[1, 2, 3],[4, 5, 6], [7, 8, 9]],dtype=num.float32)

In  : test_arr[0,:]
Out : [1. 2. 3.]

In  : test_arr[:,0]
Out : [1. 4. 7.]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...