我有两个数组:
A = np.array([1, 2, 3])
B = np.array([2, 3, 4])
C = np.stack((A, B), axis=0)
print C.shape
(2, 3)
形状不应该是
(6,)
吗?np.stack()
函数,您可以指定要考虑的索引轴。因此,您永远不会得到形状为6
的结果,对于此示例,只会得到(2,3)
或(3,2)
,具体取决于您选择了哪个轴。A = np.array([1, 2, 3])
B = np.array([2, 3, 4])
arrays = [A, B]
print(np.stack(arrays, axis=0))
[[1 2 3]
[2 3 4]]
print(np.stack(arrays, axis=1))
[[1 2]
[2 3]
[3 4]]
axis=0
进行堆叠,因此你创建了一个二维数组,其中C[0] == A
,且C[1] == B
。你可能正在寻找的是np.hstack((A,B))
。 - Willem Van Onsemaxis=0
上堆叠,所以会为C
创建一个新轴,从而得到形状为(2, 3)
的数组吗? - harmanstack
添加了一个新的维度。np.concatenate
操作已存在的维度。 - hpauljnp.hstack
和np.vstack
怎么样?它们也可以在现有的数组上操作。 - harman