python - 用 0 向左填充一维列向量

标签 python arrays numpy

如何将 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/

相关文章:

javascript - 在 Javascript 中使用 Jinja2 模板的最佳方式?

javascript - 初始化一个JavaScript对象 "tree"为任意深度,嵌套对象

python - Pandas to_numeric 数值精度

python - 如何按列添加矩阵和向量?

python - 在python中,是否有一种有效的方法来将一个数组与映射到另一个数组的元素分开?

检查两个字典是否具有相同的键集的 Pythonic 方法?

python - 在 Flask 内的新线程中启动无限 python 脚本

python - 初学者 : need to import Beautiful Soup 4 into Python

php - 在数组中发送选中的表行值

java - 文件[]到字符串[]