Python 你如何创建一个垂直排列的numpy?

Python 你如何创建一个垂直排列的numpy?,python,arrays,numpy,Python,Arrays,Numpy,有没有一种方法可以在不经过这些额外步骤的情况下获得垂直排列?您可以使用: np.newaxis只是None的别名,由numpy开发人员添加,主要是为了可读性。因此,np.arange(10)[:,None]将产生与上述解决方案相同的精确结果 编辑: 另一个选择是: >>> np.arange(10)[:, np.newaxis] array([[0], [1], [2], [3], [4], [5],

有没有一种方法可以在不经过这些额外步骤的情况下获得垂直排列?

您可以使用:

np.newaxis
只是
None
的别名,由
numpy
开发人员添加,主要是为了可读性。因此,
np.arange(10)[:,None]
将产生与上述解决方案相同的精确结果

编辑:

另一个选择是:

>>> np.arange(10)[:, np.newaxis]
array([[0],
       [1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])
我会:

np.expand_dims(np.arange(10), axis=1)

与np.array不同,重塑是一个轻量级操作,它不会复制数组中的数据。

您已经在那里执行了一些不必要的步骤,
np.array()
[]
是不必要的,因为
np.arange
返回一个numpy数组。你可以只做
np.arange(10).transpose()
@Brionius,
transpose
一个1d数组没有任何作用。OP正在使用
[]
向数组添加额外维度,并询问是否有更有效的方法来实现相同的结果。@BiRico啊,你说得对,我错了。“你已经在那里做了一些不必要的步骤”--我想,这就是我问的原因。@BiRico有没有其他方法向数组添加维度?出于某种原因,我的
np.array
实际上不起作用……idk为什么。在旁注中,你也可以做
任何事情。重塑(-1,1)
,以避免必须指定第一维度的大小。@JasonS,我添加了一个带有示例的链接。@JasonS-看一下:文档相当一致,所以请参阅其中一本指南或书籍(正如Akavall链接到的)更多的例子。@JasonS我也不知道…我同意…@SaulloCastro,好问题,所以我猜
np。之所以引入newaxis仅仅是因为它更容易阅读。
np.expand_dims(np.arange(10), axis=1)
np.arange(10).reshape((10, 1))