Numpy заполнение и создание массива в центре - PullRequest
0 голосов
/ 12 января 2020

Если у меня есть 3D-массив, размер которого в каждом измерении различен:

array([array([[3, 1, 4, 1],
       [5, 9, 2, 6],
       [5, 3, 5, 8]]),
       array([[9, 7, 9, 3],
       [2, 3, 8, 4]]),
       array([[6, 2, 6, 4],
       [3, 3, 8, 3],
       [2, 7, 9, 5],
       [0, 2, 8, 8]])], dtype=object)

Я хочу заполнить ноль и сделать массив в центре, в то же время я должен сделать убедитесь, что выходные данные имеют одинаковый размер: (3, 4, 4) просто выглядит так:

[[[3. 1. 4. 1.]
  [5. 9. 2. 6.]
  [5. 3. 5. 8.]
  [0. 0. 0. 0.]]
 [[0. 0. 0. 0.]
  [9. 7. 9. 3.]
  [2. 3. 8. 4.]
  [0. 0. 0. 0.]]

 [[6. 2. 6. 4.]
  [3. 3. 8. 3.]
  [2. 7. 9. 5.]
  [0. 2. 8. 8.]]]

Я знаю, как жестко кодировать, как это: np.pad(A, pad_width = ((0,0),(0,0), mode = 'constant', constant_values = 0), если массивы имеют одинаковую форму в каждом измерении. Но я не знаю, как бороться с другой формой. Кто-нибудь может мне помочь с этим?

...