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操作。