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を使用して、コマンド%matplotlib inline
でプロットの幅(マジックplt.rcParams['figure.figsize']=[X,Y]
でノートブックにプロットする)を設定できます。 X
を増やして、出力セルを水平方向にいっぱいにプロットできることがわかりました。これは(私が思うに)元の問題がnumpy
の問題であることを意味します。
これはもう1年経っていますが、おそらく答えは他の誰かを助けるでしょう。
Numpy-arraysの表示方法は、いくつかの事柄に依存します。このコードを使用すると、より多くのアイテムを表示し、画面の全幅を使用できます。
これがデフォルトです
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
だけを意味し、ウィンドウの幅によって改行/折り返しが発生するタイミングが決まります。
ウィンドウを少し縮小すると、次のようになります。そのため、edgeitems
またはフォーマットを操作する必要がある場合があります。
ここにドキュメントがあります for set_printoptions
、次のうち該当するもの:
edgeitems
:各次元の最初と最後のサマリーの配列項目の数(デフォルトは3)。
linewidth
:改行を挿入するための1行あたりの文字数(デフォルトは75)。