У меня есть 3D и массив 1D numpy - размера A (3750, 17, 1000) и размера B (3750). Я хочу заменить значения в 1-м измерении A на значения из массива B, чтобы результирующий массив C все еще имел размер (3750, 17, 1000), но значения в первом измерении отличались.
>>> A.shape
(3750, 17, 1000)
>>> B.shape (3750,)
>>> C.shape(3750, 17, 1000)
Я пробовал:
>>> C = np.concatenate((A, np.broadcast_to(np.array(B)[:, None, None],A.shape)), axis = 0)
Но вывод:
>>> C.shape (7500, 17, 1000)
Так что в основном, если
A =
1 [x, y ... 1000]
[x, y ... 1000]
...17
2 [x, y ... 1000]
[x, y ... 1000]
...17
3 [x, y ... 1000]
[x, y ... 1000]
...17
.
.
.
3750
и B =
22
43
11
.
.
n=3750
Тогда C должно выглядеть как
22 [x, y ... 1000]
[x, y ... 1000]
...17
43 [x, y ... 1000]
[x, y ... 1000]
...17
11 [x, y ... 1000]
[x, y ... 1000]
...17
.
.
.
n=3750