使numpy数组中的科学记数可读

时间:2014-02-20 03:42:59

标签: python numpy scientific-notation

如何转换数组:

array([ -9.8737e+13, -9.8737e+13, -1.1265e+14, 1.5743e-01, 1.1265e+14, 9.8737e+13, 9.8737e+13])

numpypython

中的可读形式

谢谢!

克里斯

1 个答案:

答案 0 :(得分:3)

您的数组包含大值和小值。很难以可读的方式呈现两者。如果使用科学记数法,数字可以以紧凑的形式显示,但很难一目了然地看出哪些数字很大而哪些数字很小。

或者,您可以在没有科学记数法的情况下显示浮点数,例如:

In [132]: np.set_printoptions(formatter={'float_kind':'{:25f}'.format})

In [133]: x
Out[133]: 
array([   -98737000000000.000000,    -98737000000000.000000,
         -112650000000000.000000,                  0.157430,
          112650000000000.000000,     98737000000000.000000,
           98737000000000.000000])

这使得很容易区分大和小,但现在眼睛盯着看太多的零。

过了一段时间,你可能想要回到NumPy的默认格式,你可以通过不带参数调用np.set_printoptions()来做。

In [134]: np.set_printoptions()

In [135]: x
Out[135]: 
array([ -9.8737e+13,  -9.8737e+13,  -1.1265e+14,   1.5743e-01,
         1.1265e+14,   9.8737e+13,   9.8737e+13])

无论如何,上面将向您展示如何配置NumPy以任何方式显示浮动(或其他类型)。有关所有可用选项的详情,请参阅the docs