Остановлен на простой проблеме numpy - добавить 2D-массив в 3D-массив - PullRequest
0 голосов
/ 05 августа 2020

У меня есть 3D-массив с размерами (X, Y, 8) и 2D-массив с размерами (X, Y). Я знаю, что есть простое решение, но не могу понять, как добавить 2D-массив к 3D-массиву, чтобы выходные данные имели размеры (X, Y, 9). Я пробовал append, concatenate, dstack, column_stack () с миллионом различных вариантов (в том, как я форматирую входные массивы, какая ось, et c.), И продолжаю получать либо ошибку «все входные массивы должны иметь одинаковые число измерений "или" все размеры входного массива, за исключением оси конкатенации, должны точно совпадать ".

Я просмотрел и выполнил все соответствующие вопросы SO. То, что я не могу понять что-то настолько простое, сводит меня с ума. Помогите?

1 Ответ

1 голос
/ 05 августа 2020

Дано:

  • arr3d формы (z, y, x)
  • arr2d формы (z, y)

Вы можете объединить их в массив формы (z, y, x + 1) по:

np.concatenate((arr3d, arr2d[..., np.newaxis]), axis=-1)

где arr2d[..., np.newaxis] имеет форму (z, y, 1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...