Как отфильтровать массив (x, y, z) с (0,0) <= (x, y) <= (x1, y1) в numpy или python? - PullRequest
1 голос
/ 05 мая 2019

У меня есть удар, похожий на np.array, форма (x, y, z).

[[  -1,100,1],
 [   2,2,3],
 [   4,1,1],
 [   100,100,1],
 ]           

Я хочу отфильтровать его с помощью (0,0) <(x, y) <(4,4), получите новый массив. </p>

[[   2,2,3],
 [   4,1,1],
 ]           

Я отфильтровал массив, форма которого (x, y).

aa = np.array([[  -1,100],
 [   2,2],
 [   4,1],
 [   100,100],
 ]   )
ll = np.array([0, 0]) 
ur = np.array([4, 4])

bb = np.all(np.logical_and(ll <= aa, aa <= ur), axis=1)
aa[bb]


array([[2, 2],
       [4, 1]])

Но как это сделать, когда (x, y, z)?Спасибо!

1 Ответ

1 голос
/ 05 мая 2019

Спасибо @ Kasrâmvd. Используйте код.

bb = np.all(np.logical_and(ll <= aa[:,:-1], aa[:,:-1] <= ur), axis=1)

array([[2, 2, 3],
       [4, 1, 1]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...