如何将 reshape 1D numpy 数组转换为 2D numpy 数组 并在列上填充零。
例如:
输入:
a = np.array([1,2,3])
预期输出:
np.array([[0, 0, 1],
[0, 0, 2],
[0, 0, 3]])
我该怎么做?
最佳答案
a = np.array([1,2,3])
选项 1
np.pad
(这应该很快)
np.pad(a[:, None], ((0, 0), (2, 0)), mode='constant')
array([[0, 0, 1],
[0, 0, 2],
[0, 0, 3]])
<小时/>
选项 2
将切片分配给np.zeros
(也非常快)
b = np.zeros((3, 3))
b[:, -1] = a
array([[0., 0., 1.],
[0., 0., 2.],
[0., 0., 3.]])
关于python - 用 0 向左填充一维列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49435915/