我有一个多维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])有什么办法可以做到这一点吗?
1 回答

大话西游666
TA贡献1817条经验 获得超14个赞
您需要将所有条件与执行布尔索引链接在一起: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]])
添加回答
举报
0/150
提交
取消