将n添加到numpy数组中的给定位置

时间:2018-04-17 10:21:35

标签: python arrays numpy

我有一个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循环。

1 个答案:

答案 0 :(得分:0)

之前有同样的问题。使用np.insert找到解决方案:

import numpy as np
np.insert([1, 1, 2], [1], 0)

>>> [1, 0, 1, 2]

我看到@jdehesa已经对此进行了评论,但是为未来的访问者添加了永久的答案。