Как понять функцию np.argwhere? - PullRequest
0 голосов
/ 19 сентября 2018
Signature: np.argwhere(a)
Docstring:
Find the indices of array elements that are non-zero, grouped by element.

Примеры

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

Что означает «ненулевой» и «сгруппированный по элементу»?и что такое "x> 1"?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Найти индексы (позиции) ненулевых элементов массива (true) , сгруппированных по элементу (каждый индекс имеет свою собственную строку) .

По сути, если вы передадите логический массив, вы найдете индексы, где этот массив истинен, но транспонирован так, что индексы в форме [[x1, x2, ...], [y1, y2, ...]] станут в форме [[x1, y1], [x2, y2], ...].

x > 1 - это логический массив, который True где x > 1 и False где x <= 1.В твоем примере это выглядит так:

[[False, False, True],
 [True,  True,  True]]
0 голосов
/ 19 сентября 2018

В каждой строке первая запись - это индекс строки, а вторая запись - это индекс столбца записей x, которые удовлетворяют условию.

Например: 2 больше 1, поэтому первый ряд аргумента argwhere дает вам [0, 2], указывающий на позицию 2 в x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...