带有零的 numpy pad 创建 2d 数组而不是所需的 1d
numpy pad with zeros creates 2d array instead of desired 1d
我正在尝试用零填充一维 numpy 数组。
这是我的代码
v = np.random.rand(100, 1)
pad_size = 100
v = np.pad(v, (pad_size, 0), 'constant')
result is 200x101 array, whose last column is [0,0,0,... <v>
], (leading 100 zeros),
and all 1st 100 columns are zeros.
如何得到我想要的数组
[0,0,0,..0,<v>
]
大小 (len(v)+pad_size, 1)?
np.hstack((np.zeros((200, 100)), 你的 v))
np.concatenate((np.zeros((200, 100)), 你的 v), 轴=1)
这可能是你的愿望:
pad
输出是二维的,因为 pad
输入 是二维的。出于某种原因,您使用 rand
创建了一个二维数组:
v = np.random.rand(100, 1)
如果你想要一个一维数组,你应该制作一个一维数组:
v = np.random.rand(100)
如果您想要一个 1 列的二维数组,那么您使用的 pad
不正确。第二个参数应该是 ((100, 0), (0, 0))
:在第一个轴之前填充 100 个元素,在第一个轴之后填充 0 个元素,在第二个轴之前填充 0 个元素,在第二个轴之后填充 0 个元素:
v = np.random.rand(100, 1)
pad_size = 100
v = np.pad(v, ((pad_size, 0), (0, 0)), 'constant')
对于 1 行二维数组,您需要同时调整 rand
调用和 pad
调用:
v = np.random.rand(1, 100)
pad_size = 100
v = np.pad(v, ((0, 0), (pad_size, 0)), 'constant')
我正在尝试用零填充一维 numpy 数组。
这是我的代码
v = np.random.rand(100, 1)
pad_size = 100
v = np.pad(v, (pad_size, 0), 'constant')
result is 200x101 array, whose last column is [0,0,0,...
<v>
], (leading 100 zeros), and all 1st 100 columns are zeros.
如何得到我想要的数组
[0,0,0,..0,
<v>
]
大小 (len(v)+pad_size, 1)?
np.hstack((np.zeros((200, 100)), 你的 v))
np.concatenate((np.zeros((200, 100)), 你的 v), 轴=1)
这可能是你的愿望:
pad
输出是二维的,因为 pad
输入 是二维的。出于某种原因,您使用 rand
创建了一个二维数组:
v = np.random.rand(100, 1)
如果你想要一个一维数组,你应该制作一个一维数组:
v = np.random.rand(100)
如果您想要一个 1 列的二维数组,那么您使用的 pad
不正确。第二个参数应该是 ((100, 0), (0, 0))
:在第一个轴之前填充 100 个元素,在第一个轴之后填充 0 个元素,在第二个轴之前填充 0 个元素,在第二个轴之后填充 0 个元素:
v = np.random.rand(100, 1)
pad_size = 100
v = np.pad(v, ((pad_size, 0), (0, 0)), 'constant')
对于 1 行二维数组,您需要同时调整 rand
调用和 pad
调用:
v = np.random.rand(1, 100)
pad_size = 100
v = np.pad(v, ((0, 0), (pad_size, 0)), 'constant')