如何“扩展”一个numpy数组(与步长切片相反)?

nx7onnlm  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(133)

有没有办法扩展numpy数组的值?就像与步长大于1的切片相反:

>>> a = np.array([[1, 0, 2], [0, 0, 0], [3, 0, 4]])
>>> a
array([[1, 0, 2],
       [0, 0, 0],
       [3, 0, 4]])

>>> b = a[::2, ::2]
>>> b
array([[1, 2],
       [3, 4]])

在这个例子中,有没有一种优雅的方法可以从b得到a

huwehgph

huwehgph1#

您可以先创建一个具有正确形状的零阵列,然后使用步长进行分配:

import numpy as np
b = np.array([[1, 2], [3, 4]])
a = np.zeros((b.shape[0] * 2 - 1, b.shape[1] * 2 - 1), dtype='int')
a[::2, ::2] = b
a
# array([[1, 0, 2],
#        [0, 0, 0],
#        [3, 0, 4]])

相关问题