在Python中创建垂直NumPy数组

use*_*243 11 python arrays numpy

我在Python中使用NumPy来处理数组.这是我用来创建垂直数组的方式:

import numpy as np
a = np.array([[1],[2],[3]])
Run Code Online (Sandbox Code Playgroud)

是否有一种简单而直接的方法来创建垂直数组?

Kas*_*mvd 17

你可以使用reshapevstack:

>>> a=np.arange(1,4)
>>> a
array([1, 2, 3])
>>> a.reshape(3,1)
array([[1],
       [2],
       [3]])
>>> np.vstack(a)
array([[1],
       [2],
       [3]])
Run Code Online (Sandbox Code Playgroud)

此外,您可以使用广播来重塑阵列:

In [32]: a = np.arange(10)
In [33]: a
Out[33]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [34]: a[:,None]
Out[34]: 
array([[0],
       [1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])
Run Code Online (Sandbox Code Playgroud)