gpt4 book ai didi

python - 将 1D 数组连接到 3D 数组

转载 作者:行者123 更新时间:2023-12-01 22:04:17 25 4
gpt4 key购买 nike

我有一个三维数组A,形状为(5774,15,100),还有一个一维数组B,形状为 (5774,)。我想添加这些以获得形状为 (5774,15,101) 的另一个矩阵 C

我正在使用 hstack 作为

C = hstack((A ,np.array(B)[:,None]))

我收到以下错误,任何建议。

ValueError: could not broadcast input array from shape (5774,15,100) into shape (5774)

最佳答案

您需要使用 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)

关于python - 将 1D 数组连接到 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52733240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com