#python #numpy #vectorization
#python #numpy #векторизация
Вопрос:
У меня есть массив матриц разных размеров, и мне нужно дополнить их все до одинакового размера (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]
Комментарии:
1. Вы можете использовать
np.pad
.
Ответ №1:
В приведенном выше примере x1[:x[0].shape[0], :x[0].shape[1]] = x
должно сработать
Ответ №2:
Есть numpy.pad
функция (docs), которая делает то, что вам нужно.
Код, который вы хотите, это
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)