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打印选项
,以下选项是相关的:
:每个维度开始和结束时汇总的数组项数(默认值3)edgeitems
:用于插入换行符的每行字符数(默认为75)linewidth
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)