如何在 numpy 或 python 中用 (0,0)<=(x,y)<=(x1,y1) 过滤数组 (x,y,z)?



我有一个np.array,例如blow,表格为(x,y,z(。

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

我想用(0,0(&lt;(x,y(&lt;(4,4(过滤它,获取一个新数组。

[[   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(时如何做?谢谢!

谢谢 @kasrâmvd。使用代码。

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

相关内容

最新更新