相关疑难解决方法(0)

Numpy:对于一个数组中的每个元素,在另一个数组中查找索引

我有两个一维数组,x和y,一个比另一个小.我试图在x中找到y的每个元素的索引.

我发现了两种天真的方法,第一种是缓慢的,第二种是内存密集型.

缓慢的方式

indices= []
for iy in y:
    indices += np.where(x==iy)[0][0]
Run Code Online (Sandbox Code Playgroud)

记忆猪

xe = np.outer([1,]*len(x), y)
ye = np.outer(x, [1,]*len(y))
junk, indices = np.where(np.equal(xe, ye))
Run Code Online (Sandbox Code Playgroud)

有更快的方式或更少的内存密集型方法吗?理想情况下,搜索将利用这样一个事实,即我们在列表中搜索的不是一件事,而是很多事情,因此稍微更适合并行化.如果您不假设y的每个元素实际上都在x中,则奖励积分.

python arrays indexing search numpy

39
推荐指数
6
解决办法
3万
查看次数

查找另一个数组中一个数组的匹配索引

我有两个numpy数组,A和B.一个包含唯一值,B是A的子数组.现在我正在寻找一种方法来获得B中B值的索引.

例如:

A = np.array([1,2,3,4,5,6,7,8,9,10])
B = np.array([1,7,10])
# I need a function fun() that:
fun(A,B)
>> 0,6,9
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

20
推荐指数
2
解决办法
1万
查看次数

标签 统计

arrays ×2

numpy ×2

python ×2

indexing ×1

search ×1