首页 > 解决方案 > 用 0 填充 2D numpy 数组

问题描述

我有一个形状为 (144,X) 的二维 numpy 数组,其中 X 可以是任何正整数。我想用零填充我的 numpy 数组,这样我的数组的最终形状是(208,5000)。我怎样才能做到这一点?

标签: python-3.xnumpy-ndarray

解决方案


也可以通过将元组的元组作为填充宽度来填充 2D numpy 数组,其格式为((top, bottom), (left, right))

例子:

import numpy as np
A=np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(A.shape)

输出:

(2, 4)

如果我想制作一个数组形状((5, 9):

B = np.pad(A, (((5-2),0),(7-2,0)), 'constant')
C = np.pad(A, (((5-3),1),(7-4,2)), 'constant')
print(B.shape)  #--->shape((5, 9)
print(C.shape)  #--->shape((5, 9)

然后:

#((top, bottom), (left, right)):
#(144,X) -->(208,5000)
#B = np.pad(A, (((208-144),0),(5000-X,0)), 'constant'): One of the possible modes

推荐阅读