在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时执行此操作?
答案 0 :(得分: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)',
...
]
答案 1 :(得分:1)
您可以将这些文件添加到ipythonrc
文件(位于Unix上的~/.ipython
)。你需要这些行:
import_mod numpy
execute numpy.set_printoptions(suppress = True)
您也可以将其添加到自定义配置文件或使用其他配置方法:
http://ipython.scipy.org/doc/stable/html/config/customization.html
答案 2 :(得分:0)
好吧,简化它的一种方法是在你的$ PYTHONPATH上创建一个wee模块,printopts
说,包含:
import numpy
numpy.set_printoptions(suppress = True)
然后在您想要更改打印时导入。您还可以在代码中导入numpy from printopts import numpy
。这样你只需要一个import语句。
干杯。
ADDENDUM: 仅供交互使用的解决方案是将$ 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时重复修改。我认为这不是一个好主意。