Найти где маскируется в Numpy - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу получить позицию в замаскированном массиве. Вот так

wt[chl > 10] = 3
wt[(chl < 10) & (chl > 5)] = 2
wt[(chl < 5)] = 1
wt[(chl is masked )]=0

wt и chl в той же форме. Я хочу дать весовое значение в соответствии со значением и атрибутом (замаскированным или нет) chl.

Кто-нибудь знает, что я должен делать?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Вы можете напрямую получить атрибут mask для chl и использовать его в качестве индекса:

wt[chl.mask] = 0
0 голосов
/ 29 апреля 2020

argwhere возвращает индексы, где значение не равно нулю, поэтому, если фигуры равны,

wt[np.argwhere(chi)] = 0

должно равняться нулю wt, где chi не равно нулю (а ~np.argwhere(chi) равно нулю) индексы, где chi равно нулю).

...