【问题标题】:How to set max output width in numpy?如何在numpy中设置最大输出宽度?
【发布时间】:2016-09-06 02:31:06
【问题描述】:

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

我找到了一种增加单元格宽度的方法,使用

from IPython.core.display import HTML
HTML("<style>.container { width:95% !important; }</style>")

但这似乎只影响输入,而不影响输出(见截图):

我尝试在numpy.set_printoptions 中设置linewidth 选项,我尝试设置numpy.core.arrayprint._line_width,没有...

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

【问题讨论】:

  • 对于通过搜索Pandas 到达的读者,您可以使用这两行:pd.set_option('display.max_columns', 50) pd.set_option('display.width', 120)

标签: python css numpy ipython


【解决方案1】:

现在已经一岁了,但也许答案会对其他人有所帮助。

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],

【讨论】:

  • python 3.7.3 上的 numpy 版本 1.16.2:np.set_printoptions(edgeitems=10,linewidth=180)
【解决方案2】:

我发现this answer 有助于创建我自己的:

import numpy as np
np.set_printoptions(edgeitems=30, linewidth=100000, 
    formatter=dict(float=lambda x: "%.3g" % x))

荒谬的线宽仅表示edgeitems,窗口的宽度将决定何时发生换行/换行。

如果我把窗口缩小一点,它看起来像这样,所以你可能仍然需要使用edgeitems 或格式:

Here are the docs 代表set_printoptions,其中以下是相关的:

  • edgeitems : 每个维度开头和结尾处汇总的数组项数(默认为 3)。

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多