Вам нужно будет использовать np.concatenate
(который может объединять массивы различной формы, в отличие от различных np.*stack
методов).Затем вам нужно использовать np.broadcast_to
, чтобы получить массив (5774,)
в (5774, 15, 1)
(потому что concatenate
все еще требует, чтобы все массивы имели одинаковое количество измерений).
C = np.concatenate((A,
np.broadcast_to(np.array(B)[:, None, None], A.shape[:-1] + (1,))),
axis = -1)
Проверка:
A = np.random.rand(5774, 15, 100)
B = np.random.rand(5774)
C = np.concatenate((A,
np.broadcast_to(np.array(B)[:, None, None], A.shape[:-1] + (1,))),
axis = -1)
C.shape
Out: (5774, 15, 101)