Numpy 将一维数组打印为列

Numpy print a 1d array as a column

我有一个 1d 的数组,我想将它打印成一列。

r1 = np.array([54,14,-11,2])
print r1

给我这个:

 [ 54  14 -11   2]

 print r1.shape

给我这个:

(4L,)

有什么东西可以插入 np.reshape() 以便

print r1.shape

给我这个?

(,4L)

打印输出看起来像

 54
 14
-11
 2

这会起作用:

import numpy as np

r1 = np.array([54,14,-11,2])

r1[:, None]

# array([[ 54],
#        [ 14],
#        [-11],
#        [  2]])

不,除非你 ,否则你不能那样做。但是,如果您只想以该格式打印您的项目,您可以使用 set_printoptions() 函数为您的预期类型设置打印格式:

In [43]: np.set_printoptions(formatter={'int':lambda x: '{}\n'.format(x)})

In [44]: print(r1)
[54
 14
 -11
 2
]

注意:如果您想将此函数应用于所有类型,您可以使用 'all' 关键字将函数应用于所有类型。

formatter = {'all':lambda x: '{}\n'.format(x)}