Numpy Pad With Zeros Creates 2d Array Instead Of Desired 1d
I am trying to pad a 1d numpy array with zeros. Here is my code v = np.random.rand(100, 1) pad_size = 100 v = np.pad(v, (pad_size, 0), 'constant') result is 200x101 array, whose
Solution 1:
The pad
output is 2D because the pad
input was 2D. You made a 2D array with rand
for some reason:
v = np.random.rand(100, 1)
If you wanted a 1D array, you should have made a 1D array:
v = np.random.rand(100)
If you wanted a 1-column 2D array, then you're using pad
incorrectly. The second argument should be ((100, 0), (0, 0))
: padding 100 elements before in the first axis, 0 elements after in the first axis, 0 elements before in the second axis, 0 elements after in the second axis:
v = np.random.rand(100, 1)
pad_size = 100
v = np.pad(v, ((pad_size, 0), (0, 0)), 'constant')
For a 1-row 2D array, you would need to adjust both the rand
call and the pad
call:
v = np.random.rand(1, 100)
pad_size = 100
v = np.pad(v, ((0, 0), (pad_size, 0)), 'constant')
Solution 2:
np.hstack((np.zeros((200, 100)), your v))
np.concatenate((np.zeros((200, 100)), your v), axis=1)
may be your desire this:
Post a Comment for "Numpy Pad With Zeros Creates 2d Array Instead Of Desired 1d"