фильтровать массив по условию индекса - PullRequest
0 голосов
/ 01 октября 2019

Мне нужно отфильтровать массив по условию индексов. В numpy есть следующие функции:

np.where_index(lambda indices: indices[0]**2 + indices[1]**2 < 10, a)?

(аналогично фильтрации по значению np.where(a > 2, a))

1 Ответ

0 голосов
/ 01 октября 2019

вы можете использовать маскировку, как показано ниже

arr = np.arange(25).reshape(5,5)
display(arr)
ind_x = np.arange(arr.shape[0]).reshape(-1,1)
ind_y = np.arange(arr.shape[1])

ind = (ind_x**2 + ind_y**2)<10

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