4

numpyには、配列をよりきれいに印刷する機能があります。

set_printoptions(suppress = True)

言い換えれば、これの代わりに:

array([[  0.00000000e+00,  -3.55271368e-16,   0.00000000e+00,
          1.74443793e-16,   9.68149172e-17],
       [  5.08273978e-17,  -4.42527959e-16,   1.57859836e-17,
          1.35982590e-16,   5.59918137e-17],
       [  3.00000000e+00,   6.00000000e+00,   9.00000000e+00,
          2.73835608e-16,   7.37061982e-17],
       [  2.00000000e+00,   4.00000000e+00,   6.00000000e+00,
          4.50218574e-16,   2.87467529e-16],
       [  1.00000000e+00,   2.00000000e+00,   3.00000000e+00,
          2.75582605e-16,   1.88929494e-16]])

あなたはこれを手に入れます:

array([[ 0., -0.,  0.,  0.,  0.],
       [ 0., -0.,  0.,  0.,  0.],
       [ 3.,  6.,  9.,  0.,  0.],
       [ 2.,  4.,  6.,  0.,  0.],
       [ 1.,  2.,  3.,  0.,  0.]])

この設定を永続的にして、IPythonを使用しているときはいつでもこれを行うにはどうすればよいですか?

4

3 に答える 3

2

main()これを関数に追加しました~/.ipython/ipy_user_conf.py

from numpy import set_printoptions
set_printoptions(suppress = True)

そしてそれはうまくいくようです。

それ以降のIPythonバージョンでは、を実行してから、次の行をipython profile create開い~\.ipython\profile_default\ipython_config.pyて編集し、コマンドを追加します。

c.InteractiveShellApp.exec_lines = [
        ...
        'import numpy as np',
        'np.set_printoptions(suppress=True)',
        ...
        ]
于 2009-12-07T05:31:04.497 に答える
1

ipythonrcそれらをファイル(~/.ipythonUnix上にあります)に追加できます。次の行が必要です。

import_mod numpy
execute numpy.set_printoptions(suppress = True)

カスタムプロファイルに追加したり、別の構成方法を使用したりすることもできます。

http://ipython.scipy.org/doc/stable/html/config/customization.html

于 2009-11-25T15:15:39.687 に答える
0

それを合理化する1つの方法は、$ PYTHONPATHのどこかに、次のようなweeモジュールを作成することprintoptsです。

import numpy
numpy.set_printoptions(suppress = True)

そして、印刷を変更したいときはいつでもそれをインポートします。コードにnumpyをとしてインポートすることもできますfrom printopts import numpy。そうすれば、必要なインポートステートメントは1つだけです。

乾杯。

補遺:インタラクティブに使用するための解決策は、$PYTHONSTARTUP環境変数をprintopts.pyファイルへのパスに設定することです。インタプリタは、インタラクティブモードの場合、何よりも先にそのファイルを実行します。もちろん、Pythonは常にnumpyをロードし、開始時間を傷つけます。

もう少し考えて、私がすることは、モジュールを作成することですnp.py

from numpy import *
set_printoptions(supress=True)

次にimport np、以下の私のコメントの理由から、常に変更されたバージョンを取得します。

ハックを気にしない場合は、set_printoptions()呼び出しをthe numpy/__init__.pyファイルに追加するだけですが、numpyインストールへの書き込みアクセス権が必要であり、pythonまたはnumpyを更新するときにハックを繰り返すことを忘れないでください。これは良い考えではないと思います。

于 2009-11-25T11:57:54.837 に答える