按列过滤多维numpy数组

格林

我有一个多维的numpy数组,我只想在数组的每一列中使用特定的值。如果vlaue与我要过滤的内容不匹配,我想删除整行。程式码片段:

array = ([4, 78.01, 65.00, 98.00],
         [5, 23.08, 87.68, 65.3],
         [6, 45.98, 56.54, 98.76],
         [7, 98.23, 26.65, 46.56])

例如,第1列我想要0-90之间的数字,第4列我想要70-100之间的值。所以我的理想输出是:

 array = ([4, 78.01, 65.00, 98.00],
         [6, 45.98, 56.54, 98.76])

有什么办法吗?

亚图

您需要使用链接所有条件,bitwise operators并执行布尔索引:

array[(array[:,0] > 0) & (array[:,0] < 100) & (array[:,3] > 90) & (array[:,3] < 100)]

array([[ 4.  , 78.01, 65.  , 98.  ],
       [ 6.  , 45.98, 56.54, 98.76]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章