Python 基于另一个数组的样本从numpy数组获取样本

Python 基于另一个数组的样本从numpy数组获取样本,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,我有一个矩阵a和另一个向量b: a=np.array([[0,1,2], [3,4,5], [6,7,8]] b=np.数组([0.5,0.3,0.2]) 是否有任何速记功能可以根据b的值从a提取行 例如,从a获取样本,其中b>=0.3应返回: [[0,1,2], [3,4,5]] 我想到的是: a_idx=np.argwhere(b>=0.3).flatten() c=np.take(a,a_idx) 这是可行的,但我想知道是否有更好的解决方案(特别是处理大型阵列) 提前感谢。a[b>

我有一个矩阵
a
和另一个向量
b

a=np.array([[0,1,2],
[3,4,5],
[6,7,8]]
b=np.数组([0.5,0.3,0.2])
是否有任何速记功能可以根据
b
的值从
a
提取行

例如,从
a
获取样本,其中
b>=0.3
应返回:

[[0,1,2],
[3,4,5]]

我想到的是:

a_idx=np.argwhere(b>=0.3).flatten()
c=np.take(a,a_idx)
这是可行的,但我想知道是否有更好的解决方案(特别是处理大型阵列)


提前感谢。

a[b>=0.3]
更干净,但您的方法似乎更快(在100米入口阵列上进行了200次测量测试,您的速度快了约33%).

我不知道我能做到这一点,这太棒了。我对性能持怀疑态度,因为我首先必须获取索引,然后在大型阵列上提取.2操作。