将IPython默认的科学计数法阈值设置为何值?

11

我该如何修改Python在何时决定以科学计数法打印输出的点?

例如,我希望所有大于1e4或小于1e-4的内容以科学计数法方式打印。

好的:

In [11]: 5e20
Out[11]: 5e+20

不好:

In [12]: 5e10
Out[12]: 50000000000.0
1个回答

18
在IPython中,您可以使用:

%precision %.4g

这将以科学计数法打印绝对值小于1e-4或大于等于1e4的浮点数。

您可以在IPython API文档中找到有关%precision命令的更多信息。有关字符串格式选项,请查看Python文档


好的,谢谢!有没有办法让这成为默认行为(或每次运行ipython时都加载它)? - DilithiumMatrix
1
在IPython的配置文件中添加(或编辑)以下行:c.InteractiveShellApp.exec_lines = ['%precision %.4g']。使用命令ipython locate可查找该文件。在我的情况下,它位于~/.ipython/profile_default/ipython_config.py之下(请参见IPython文档)。感谢指出引号问题,我会将其删除:-)。 - zabbarob
2
这个解决方案似乎不再起作用了(IPython 2.2.0 / RHEL7 / Python 2.7.5)。它继续为未达到我要求的阈值的值打印科学计数法。 - dg99
1
我刚刚尝试了一下,使用Python 2.7.9和IPython 2.4.0,对我仍然有效。 - zabbarob
这是一个Jupyter "magic"指令,在Spyder中使用的Python无法运行。 - mins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接