Конкатенация Python с массивами разных размеров - PullRequest
0 голосов
/ 21 июня 2019

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

 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' в качестве пустого массива и конкатенацию, но ошибка такова, что 'все размеры входного массива, кроме оси конкатенации, должны точно совпадать '.Какой правильный или даже более простой способ сделать это?

1 Ответ

0 голосов
/ 21 июня 2019

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...