Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用条件从np数组中删除元素的最有效方法_Python_Arrays_Numpy - Fatal编程技术网

Python 使用条件从np数组中删除元素的最有效方法

Python 使用条件从np数组中删除元素的最有效方法,python,arrays,numpy,Python,Arrays,Numpy,我现在有一个numpy数组,看起来像: A = [ [5, 8, 6, 2], [5, 8, 6, 2], [...], ... ] 假设我有另一个1Dnumpy数组,它看起来像数组B,但有与A中的每个列表对应的at值 B = [0.4, 0.6, 0.3, ...] 现在我想删除列表中的任何列表,该列表在B中的对应值大于0.5(这可以由名为thresh的变量表示)。结果数组应该如下所示(因为第二个列表的值更大): 我正在寻找一种很好的nu

我现在有一个
numpy
数组,看起来像:

A =  [  [5, 8, 6, 2], 
        [5, 8, 6, 2], 
        [...], ...       ]
假设我有另一个1D
numpy
数组,它看起来像数组
B
,但有与
A
中的每个列表对应的at值

B = [0.4, 0.6, 0.3, ...]
现在我想删除列表中的任何列表,该列表在
B
中的对应值大于0.5(这可以由名为
thresh
的变量表示)。结果数组应该如下所示(因为第二个列表的值更大):


我正在寻找一种很好的
numpy
为基础的/pythonic的方法来实现这一点。我知道np.delete,但不知道如何在有条件的情况下使用它

condition
Boolean
slice怎么样

A[B<0.5]
Out[197]: 
array([[5, 8, 6, 2],
       [1, 1, 1, 1]])

A[BCool解决方案!但是有没有一种
numpy
方法呢?我试过
A[B@SharanDuggiralaA和B有相同的透镜吗?打印透镜(A)和透镜(B)
A[B<0.5]
Out[197]: 
array([[5, 8, 6, 2],
       [1, 1, 1, 1]])