Почему numpy.where дает мне этот вывод? - PullRequest
0 голосов
/ 07 мая 2018

Я просматриваю страницу документации numpy.where и нашел следующий код:

>>>x = np.arange(9.).reshape(3, 3)
>>>x
array([[ 0.,  1.,  2.],
   [ 3.,  4.,  5.],
   [ 6.,  7.,  8.]])
>>>np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2])) 

Я не понимаю, почему np.where (x> 5) дает упомянутый результат. Прошу прощения, если это было задано ранее, но я не нашел соответствующего вопроса. Пожалуйста помоги.

1 Ответ

0 голосов
/ 07 мая 2018

numpy.where возвращает индексы, где ваше состояние было True. Итак, в вашем примере x > 5 равно True при следующих индексах

  [(2,0), (2,1), (2,2)]
#  ^6.    ^7.    ^8.

Это может быть полезно, если вы хотите извлечь эти элементы из исходного массива, например,

>>> x[np.where( x > 5 )]
array([6., 7., 8.])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...