Объединить массив NumPy в новом измерении - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь создать 2D-матрицу, чтобы каждая точка данных была 2D-массивом. / 10 \ / |a1_0|a2_0|a3_0|....| |a1_1|..............| 1000 |a1_2|..............| |...................| \ |...................|

, где a1_0, a1_1, a2_0 - все (1025, 16) массивы.

Насколько я понимаю, это означает, что я должен создать матрицу с shape = (10, 1000, 1025, 16).(пожалуйста, дайте мне знать, если я ошибаюсь)

И все, что у меня есть a1_0, a1_1, a2_0 ...

Поэтому мой вопрос заключается в том, как объединить этимассивы с наиболее эффективными способами, если мне нужно объединить 2 массива в новом измерении?

Я пробовал np.vstack() и np.concatenate(), но, похоже, не правильно.


Я использую функцию для передачи фрагмента звука в спектрограмму (которая представляет собой изображение), функция вернет переменную с именем spec, которая представляет собой (1025, 16) массив numpy

Поэтому сначала я пытался сделать:

for a0 ~ a9, concatenate:
   for a1_1 ~ a1_999, concatenate:
       spec = gen_spectrogram (audio)

1 Ответ

0 голосов
/ 13 ноября 2018

Первый стек ai_0, ..., ai_999:

ci = np.stack([ai_0,...,ai_999])

Затем стеки c0, ..., c9

conc = np.stack([c0, ..., c9])

Результат должен иметь форму (10, 1000, 1025, 16)

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