Как мне добавить n нулей в конец каждой строки массива numpy? - PullRequest
0 голосов
/ 17 июня 2020

У меня есть 2-мерный массив numpy, и я хочу расширить каждую строку n нулями.

Пример входного массива:

    array([[0 0 1]
           [1 1 1]
           [1 0 1]
           [0 1 1]])

Ожидаемый результат для n = 1:

    array([[0 0 1 0]
           [1 1 1 0]
           [1 0 1 0]
           [0 1 1 0]])

Как это можно сделать?

Я уже пробовал добавить значение np.zeroes в массив, но это не сработало так, как задумано .

1 Ответ

1 голос
/ 17 июня 2020

Вот для чего предназначена функция numpy.pad. Пример:

>>> arr = np.random.rand(4, 3)
array([[0.49523083, 0.08740367, 0.81560756],
       [0.24770699, 0.49593462, 0.54695548],
       [0.69683291, 0.17064399, 0.94812849],
       [0.83924539, 0.38308905, 0.92745001]])
>>> np.pad(arr, ((0,0), (0,1)))
array([[0.49523083, 0.08740367, 0.81560756, 0.        ],
       [0.24770699, 0.49593462, 0.54695548, 0.        ],
       [0.69683291, 0.17064399, 0.94812849, 0.        ],
       [0.83924539, 0.38308905, 0.92745001, 0.        ]])

Вы также можете обернуть это в функцию:

def append_zeros(arr, n): 
    return np.pad(arr, ((0,0), (0,n)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...