объединить массив «поэлементно» - PullRequest
0 голосов
/ 24 января 2019

В настоящее время у меня есть два массива: форма a1 (5,4,6,3), второй a2 (5,4,6) и, наконец, я хочу получить объединенный массив (5,4, 6,4)

В настоящее время я «зацикливаю» каждый (6,3) массив и np.stack его с соответствующими (6,1) - (6,4).

for i in range(a1.shape[0]):
    for j in range(a1.shape[1]):
        a = np.hstack((a1[i,j], a2[i,j].reshape(6,1)))

Однако, это не очень эффективно, если оно намного больше, чем 5 * 4.

У тебя есть способ получше?

1 Ответ

0 голосов
/ 24 января 2019

Это то, что вы хотите?

import numpy as np

a1 = np.ones((5, 4, 6, 3))
a2 = np.ones((5, 4, 6))

result = np.concatenate((a1, a2[..., np.newaxis]), axis=-1)

print(result.shape)

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