我有以下数组
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
在数组的边界上填充零,但是有没有其他方法可以做到呢?
答案 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
。