Python numpy指数表示法

时间:2016-03-05 08:49:26

标签: python numpy

np.log(someMatrix)生成1.220536239336080619e+01类型的值。我想实际看到+e01的所有数字。有没有办法告诉numpy这样做?

我尝试了around(),但对我不起作用。

3 个答案:

答案 0 :(得分:1)

您可以使用格式化打印看到任意数量的浮点数。 但我同意user2357112,最后的数字可能超出了精度限制并且不重要。

r=1.220536239336080619e+01
print "%-.24f"%(r)

12.205362393360806194664292

答案 1 :(得分:1)

当您将数据写入文件时,您可以选择不同的格式,%f是不使用指数表示法的格式:

np.savetxt('matrix.txt', np.log(someMatrix), '%f')

答案 2 :(得分:1)

您可以将np.array2str与格式化程序一起使用,将其显示为不带小数的数字:

import numpy as np
a = np.array([1434e24])
np.array2string(a, formatter={'float_kind':lambda x: "%.0f" % x})
# prints '[1433999999999999897558319104]'

但请注意,该数字由浮点精度控制,因此不会完全符合您的输入。