在numpy中堆叠数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在numpy中堆叠数组相关的知识,希望对你有一定的参考价值。

我有两个数组:

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()函数,您可以指定要将哪个axis视为索引轴。所以你可以看到你永远不会得到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]]
另一答案

因为你沿着轴0堆叠。它正在做类似的事情

[[1,2,3],
 [4,5,6]]

如果你想要(6,)形状,你应该使用np.concatenate。

以上是关于在numpy中堆叠数组的主要内容,如果未能解决你的问题,请参考以下文章

使用 NumPy 进行深度堆叠

在numpy中堆叠数组

堆叠不同大小图像的 Numpy 数组

如何从熊猫框架中的特定列中提取numpy数组并将它们堆叠为单个numpy数组[重复]

Python数据分析-堆叠数组函数总结

Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战