У меня есть матрица 5x20, я собираюсь использовать матричную функцию и преобразования, такие как преобразование Фурье, которые можно использовать только для симметричной матрицы. Как я могу преобразовать матрицу 5x20 в матрицу 20x20 с помощью нулевого заполнения?
import numpy as np a = np.array([[1,1,1,1],[2,2,2,2]]) b=np.zeros((20,20)) result = np.zeros_like(b) x = 0 y = 0 result[x:a.shape[0],y:a.shape[1]] = a print(result)
Вы можете использовать вышеуказанную логику для реализации заполнения.
Еще один подход. Здесь a - это массив, который у вас уже есть.
a
import numpy as np a = np.random.rand(5,20) za = np.zeros((1, 20)) while a.shape[0] < 20: a = np.concatenate((a,za))
Вы используете NumPy? Если вы это сделаете, вы можете сделать это, нарезав массивы
import numpy as np random_array_5_20 = np.random.rand(5, 20) padded_array_20_20 = np.zeros((20, 20)) padded_array_20_20[:5, :20] = random_array_5_20