有没有办法扩展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?
b
a
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]])
1条答案
按热度按时间huwehgph1#
您可以先创建一个具有正确形状的零阵列,然后使用步长进行分配: