Python 如何设置numpy中的最大输出宽度?

Python 如何设置numpy中的最大输出宽度?,python,css,numpy,ipython,Python,Css,Numpy,Ipython,我正在用一个笔记本电脑。我有一个相当宽的屏幕,但是显示的输出(比如,当我打印numpy数组时)的格式就好像屏幕很窄一样 我找到了一种增加细胞宽度的方法 from IPython.core.display import HTML HTML("<style>.container { width:95% !important; }</style>") 从IPython.core.display导入HTML HTML(“.container{width:95%!importan

我正在用一个笔记本电脑。我有一个相当宽的屏幕,但是显示的输出(比如,当我打印
numpy
数组时)的格式就好像屏幕很窄一样

我找到了一种增加细胞宽度的方法

from IPython.core.display import HTML
HTML("<style>.container { width:95% !important; }</style>")
从IPython.core.display导入HTML
HTML(“.container{width:95%!important;}”)
但这似乎只影响输入,而不影响输出(参见屏幕截图):

我试过在
numpy.set\u printoptions
中设置
linewidth
选项,我试过设置
numpy.core.arrayprint.\u linewidth
,什么都没有


编辑:使用matplotlib,我可以使用命令
plt.rcParams['figure.figsize']=[X,Y]
设置打印宽度(我在笔记本中使用magic
%matplotlib inline
)。事实证明,我可以增加
X
,让绘图一直水平地填充输出单元格。这意味着(我认为)最初的问题是一个
numpy
问题

这已经是一年前的事了,但也许答案会对其他人有所帮助

numpy数组的显示方式取决于许多因素。 使用此代码,您可以显示更多项目并使用屏幕的全宽:

这是默认设置

import numpy as np
np.set_printoptions(edgeitems=3)
np.core.arrayprint._line_width = 80

>>> array([[[0, 0, 0, ..., 0, 0, 0],
>>>    [0, 0, 0, ..., 0, 0, 0],
>>>    [0, 0, 0, ..., 0, 0, 0],
>>>    ..., 
使用以下代码,可以增加每个数组(开始和结束)边缘显示的项目以及线宽:

import numpy as np
np.set_printoptions(edgeitems=10)
np.core.arrayprint._line_width = 180

>>> array([[[  0,   0,   0,   0,   0,   0,   0,   0,   0,   0, ...,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0],
>>>         [  0,   0,   0,   0,   0,   0,   0,   0,   0,   0, ...,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0],
>>>         [  0,   0,   0,   0,   0,   0,   0,   0,   0,   0, ...,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0],
我发现有助于创建自己的:

import numpy as np
np.set_printoptions(edgeitems=30, linewidth=100000, 
    formatter=dict(float=lambda x: "%.3g" % x))
线宽仅表示
edgeitems
,窗口的宽度将决定何时换行/换行

如果我将窗口缩小一点,它看起来是这样的,因此您可能仍然需要使用
边缘项
或格式:

对于
设置\u打印选项
,以下选项是相关的:

  • edgeitems
    :每个维度开始和结束时汇总的数组项数(默认值3)

  • linewidth
    :用于插入换行符的每行字符数(默认为75)


对于通过搜索熊猫而来的读者,您可以使用以下两行:
pd.set\u option('display.max\u columns',50)pd.set\u option('display.width',120)
要临时更改选项,请使用
和np.printoptions(yourpoption=):
。参见
格式化程序
是使其他两个工作正常的关键部分。因此,python 3.7.3上的nicenumpy 1.16.2版:
np.set\u打印选项(edgeitems=10,线宽=180)