Как добавить новые строки и столбцы в массив numpy - PullRequest
1 голос
/ 18 марта 2019

У меня есть массив матриц всех разных размеров / размеров, и мне нужно дополнить их все до одного размера (805, 16866).Ниже приведен код, который я использую для этого, но я верю, что его можно векторизовать, однако я не уверен, как это сделать.

x1 = np.zeros((805, 16866))

for i in range(x[0].shape[0]):
    for j in range(x[0].shape[1]):
        x1[i, j] = x[0][i, j]

Ответы [ 2 ]

2 голосов
/ 18 марта 2019

В приведенном выше примере x1[:x[0].shape[0], :x[0].shape[1]] = x должно работать

0 голосов
/ 18 марта 2019

Есть numpy.pad функция (документы) , которая делает то, что вам нужно.

код, который вы хотите

x1 = np.zeros((805,16866))

for i in range(x.shape[0])
  x1[i,:]= np.pad(x[i,:],x1.shape[0],'constant',constant_values=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...