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

问题描述 投票:1回答:2

我有以下数组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在数组的边界上填充零,但有没有办法以相反的方式做到这一点?

python arrays numpy
2个回答
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
投票

这是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读作:get array a,添加超出4th元素:2 zeros

© www.soinside.com 2019 - 2024. All rights reserved.