如何使numpy不使用科学计数法打印输出

4

这是一个非常简单的问题,但我不知道正确的谷歌搜索关键词。我有一个numpy数组:

A = np.array([ 8.1588e-01, -3.9675e-04])

我希望您能将它作为常规十进制数打印出来。 即0.81588,-0.00039675

如何实现呢?


在这种情况下,A 不是一个 numpy 数组。 - letsintegreat
1个回答

4
Numpy让你可以使用 set_printoptions来全局自定义输出。
要消除科学计数法,可以使用:
 np.set_printoptions(suppress=True) # don't use scientific notation

来自文档:

suppress : bool, 可选参数

如果为True,则始终使用定点表示法打印浮点数,此时在当前精度下等于零的数字将打印为零。如果为False,则当最小值的绝对值小于1e-4或最大绝对值与最小值的比率大于1e3时,使用科学计数法。默认值为False。


虽然 set_printoptions 是应该使用的函数,但是你的两个示例调用都没有产生问题中所需的输出。 - user2357112
@user2357112 很好的发现!我没有注意到。我更新了我的答案。 - Derlin
@Anush:小心截断;suppress的截断行为并不像你在问题中描述的那样工作,而且无论你希望什么样的截断行为,都不太可能找到方便的方法来实现它。 - user2357112

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