numpy数组元素自动舍入?

use*_*817 4 python numpy

我在Python中有一个numpy浮点数组.

当我打印数组时,第一个值是:

[7.14519700e+04, ....
Run Code Online (Sandbox Code Playgroud)

但是,如果我打印出它自己的第一个值,则打印输出为:

71451.9699799
Run Code Online (Sandbox Code Playgroud)

显然这些数字应该是相同的,所以我只是想知道,数组只是向我展示了该元素的圆形版本?这里的第二个数字有12个有效数字,第一个数字只有9个.

我想我只是想知道为什么这些数字不同?

Pio*_*r99 5

它只是在打印中,而不是在存储中.唯一的混淆可能是因为第一个例子使用numpy的打印精度设置,第二个例子是一般python的打印设置.

您可以调整numpy精度并打印

numpy.set_printoptions(precision=20)
print myarray`
Run Code Online (Sandbox Code Playgroud)

(根据需要调整精度),或选择标准python格式打印中的有效数字:

print ('%.20f' % myarray[0])
Run Code Online (Sandbox Code Playgroud)

数字的内部表示始终相同.