将float64 numpy数组转换为非科学记数法的浮点数

时间:2014-03-28 18:24:53

标签: python numpy type-conversion

我目前有一个numpy数组的float64s:

[ -2.75090260e-08   3.11586226e-08   1.86128266e-08  -1.01560789e-07 ]

我想打印excel电子表格导入:

[ -.0000000275090260   .0000000311586226   .0000000186128266   -.000000101560789 ]

我尝试过使用精确设置,但每个数字都有自己的尾数和指数。

请注意,这些输出数字可以被视为一个字符串,如果这使得过程更容易,因为它们将进入excel的文本文件。

2 个答案:

答案 0 :(得分:3)

您想以十进制格式打印16位精度的数字吗?怎么样?

a = [-2.75090260e-08, 3.11586226e-08, 1.86128266e-08, -1.01560789e-07]
print map(lambda x: "{0:.16f}".format(x), a)

打印

['-0.0000000275090260', '0.0000000311586226', '0.0000000186128266', '-0.0000001015607890']

<强>更新

你甚至不需要lambda。使用

map("{0:.16f}".format, a)

同样适用。感谢@JaminSore指出这一点。

答案 1 :(得分:0)

请注意,您还可以选择: numpy.round(_array, _decimalPrecision)