Python - 将数字转换为指数

时间:2015-08-20 17:57:42

标签: python

我如何转换这样的数组:

[ 76809102.22  38393173.33    -17066.67 -48000000.           0.           0.   -28809102.22 -38393173.33    -17066.67]

指数?

[  7.68091022e+07   3.83931733e+07  -1.70666700e+04  -4.80000000e+07   0.00000000e+00   0.00000000e+00  -2.88091022e+07  -3.83931733e+07  -1.70666700e+04]

我一直在尝试很多事情,只是得到错误!

2 个答案:

答案 0 :(得分:1)

如果x是NumPy数组,则可以使用

np.set_printoptions(formatter={'float': '{: 0.8e}'.format})

change the way floats are displayed

import numpy as np

x = np.array([76809102.22, 38393173.33, -17066.67, -48000000., 0., 0., -28809102.22, 
              -38393173.33, -17066.67])
np.set_printoptions(formatter={'float': '{: 0.8e}'.format})
print(x)

产量

[ 7.68091022e+07  3.83931733e+07 -1.70666700e+04 -4.80000000e+07
  0.00000000e+00  0.00000000e+00 -2.88091022e+07 -3.83931733e+07
 -1.70666700e+04]

答案 1 :(得分:0)

使用 e 格式表示带指数表示法的十进制数字:

'{:e}'.format(1.0)
'1.000000e+00'