Объединение Python с массивами разного размера

У меня есть папка с несколькими разными именами переменных, а также несколько разных дескрипторов, которые отличаются. Например:

 A1, B1, C1, A2, B2, C2, A3, B3, C3, ...

Эти файлы имеют пустую форму [#, 5, 5, 1], где # будет отличаться для каждой переменной и числа. Однако я хочу создать основной массив всех A, B и C, которые были объединены.

Примером может быть:

 A1.shape = [1426,5,5,1]
 A2.shape = [1322,5,5,1]
 A3.shape = [1112,5,5,1]
 1426 + 1322 + 1112 = 3860
 allA.shape = [3860,5,5,1]

Я пробовал несколько разных способов, включая предварительное выделение «allA» в виде пустого массива numpy и конкатенацию, но ошибка такова, что «все размеры входного массива, кроме оси конкатенации, должны точно совпадать». Каков правильный или даже более простой способ сделать это?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
92
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В этом случае numpy.concatenate должен работать правильно.

import numpy as np

a = np.zeros((10, 5, 5, 1))
b = np.zeros((15, 5, 5, 1))
c = np.zeros((20, 5, 5, 1))

res = np.concatenate((a, b, c), axis=0)  # concatenation

print(res.shape)  # (45, 5, 5, 1)

Другие вопросы по теме