我们假设我有in
的矩阵size mXn
。
我正在尝试创建一个大小为out
的矩阵2mX2n
out
矩阵包含与in
矩阵基本相同的元素,
除了值与零交替。
例如:
in = [[ 1,2,3],
[4,5,6]]
out = [[1,0,2,0,3,0],
[0,0,0,0,0,0],
[4,0,5,0,6,0],
[0,0,0,0,0,0]]
是否有矢量化的方法来实现这一目标?
答案 0 :(得分:3)
使用NumPy:
import numpy as np
您的数据:
a = np.array([[ 1,2,3],
[4,5,6]])
沿两个维度创建两倍大小的数组:
b = np.zeros([x * 2 for x in a.shape], dtype=a.dtype))
再次在两个维度中将a
的值分配给每个b
的第二个值:
b[::2,::2] = a
结果:
>>> b
array([[1, 0, 2, 0, 3, 0],
[0, 0, 0, 0, 0, 0],
[4, 0, 5, 0, 6, 0],
[0, 0, 0, 0, 0, 0]])