【问题标题】:Numpy print a 1d array as a columnNumpy 将一维数组打印为列
【发布时间】:2018-07-21 08:26:21
【问题描述】:

我有一个 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

【问题讨论】:

  • shape 是一个元组。 (4,) 是 1 元素元组的标准 Python 语法。 (,4) 不是有效的语法。也不是二维形状的缩写,如 (1,4) 或 (4,1)。 (4,1) 是一个有 4 个“行”和 1 个“列”的数组的形状,它会根据需要显示。

标签: python numpy printing reshape


【解决方案1】:

这将起作用:

import numpy as np

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

r1[:, None]

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

【讨论】:

    【解决方案2】:

    不,除非您create a vertical version of your array,否则您不能这样做。但是,如果您只想以该格式打印您的项目,您可以使用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)}
    

    【讨论】:

      猜你喜欢
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 2019-05-05
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多