【发布时间】:2018-06-05 08:28:40
【问题描述】:
我有两个数组:
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,)吗?
【问题讨论】:
-
不,你叠加在
axis=0上,所以你创建了一个二维数组,其中C[0] == A和C[1] == B。您可能正在寻找np.hstack((A,B))。 -
你的意思是,因为我在
axis=0上堆叠,所以为C创建了一个新轴,它给出了(2, 3)的形状? -
是的,它创建了一个新轴。来自文档[1],“沿新轴加入一系列数组。” [1]docs.scipy.org/doc/numpy-1.13.0/reference/generated/…
-
轴 0 是行方向。轴 1 是结果的列方向(!)而不是参数。
-
stack添加了一个新维度。np.concatenate在现有的基础上工作。