如何获得更宽的numpy阵列打印输出?

时间:2012-12-08 03:10:36

标签: python arrays printing numpy

当一行中有足够的空间时,它是5列后的自动换行。 例如:

print array
==========================restart=========================================
([32235, 2323424, 2342342
3525324, 234234])
([234234, 23423, 543535,
76572, 23424])

使用python Idle,我尝试更改初始窗口大小首选项。重启栏一直延伸,但不是numpy数组输出。

在搜索之后似乎无法找到答案。 我病了,真的很感激任何帮助。 谢谢!

2 个答案:

答案 0 :(得分:2)

尝试使用np.vectorize

printer = np.vectorize(lambda x:'{0:5}'.format(x,))
print printer(b).astype(object)

或尝试使用np.set_printoptions

正如IDLE所示:

>>> import numpy as np
>>> x=np.random.random(10)
>>> x
array([ 0.72239823,  0.69938461,  0.85466846,  0.03294278,  0.06698482,
        0.04137562,  0.4223521 ,  0.81317235,  0.62221494,  0.6205595 ])
>>> np.set_printoptions(precision=3)
>>> print(x)
[ 0.722  0.699  0.855  0.033  0.067  0.041  0.422  0.813  0.622  0.621]

答案 1 :(得分:2)

您的问题的实际答案(无需牺牲精度)如下:

 import numpy as np
 large_width = 400
 np.set_printoptions(linewidth=large_width)