我有一个numpy数组,我想要一个函数,它将numpy数组和一个索引列表作为输入,并作为输出返回另一个具有以下属性的数组:在之前的数组中添加了一个零原始数组的每个指数的位置。
让我举几个例子:
如果indices = [1]
且初始数组为array([1, 1, 2])
,则函数的输出应为array([1, 0, 1, 2])
。
如果indices = [0, 1, 3]
且初始数组为array([1, 2, 3, 4])
,则函数的输出应为array([0, 1, 0, 2, 3, 0, 4])
。
我想以矢量化的方式进行,没有任何for循环。
答案 0 :(得分:0)
之前有同样的问题。使用np.insert找到解决方案:
import numpy as np
np.insert([1, 1, 2], [1], 0)
>>> [1, 0, 1, 2]
我看到@jdehesa已经对此进行了评论,但是为未来的访问者添加了永久的答案。