在numpy数组中的元素之间插入零

时间:2019-01-19 11:02:10

标签: python arrays numpy

我有以下数组 a = np.array([1, 2, 3, 4, 9, 8, 7, 6]) 现在我必须添加2/12/22个零,以将其添加到具有10/20/30列的矩阵中。

应如下所示: a = np.array([1, 2, 3, 4, 9, 8, 7, 6])-> a = np.array([1, 2, 3, 4, 0, 0, ..., 0, 0, 9, 8, 7, 6])

我正在使用np.pad在数组的边界上填充零,但是有没有其他方法可以做到呢?

2 个答案:

答案 0 :(得分:1)

您可以将hstack函数与原始矩阵的切片结合使用,以便可以堆叠矩阵的开头,零和其余矩阵:

a = np.array([1, 2, 3, 4, 9, 8, 7, 6])
result = np.hstack((a[0:4], np.zeros(12), a[4:]))

答案 1 :(得分:1)

这是numpy.insert函数的任务,例如(2个零):

a = np.array([1, 2, 3, 4, 9, 8, 7, 6])
a = np.insert(a,4,np.zeros(2))
print(a) #prints [1 2 3 4 0 0 9 8 7 6]

说明:您可以将insert读为:获取数组a,添加超出第4个元素:2 zeros