【发布时间】:2019-10-16 06:53:28
【问题描述】:
我有一个简单的问题。
我正在使用numpy.std 公式来计算标准差。但是,结果是以科学计数法表示的数字。
所以我问,如何将科学记数法转换为十进制数,并且仍然保持数据格式为 float64 ?
或者是否有任何解决方法可以将初始结果作为十进制数?
这样的解决方案:
stdev = format(stdev, '.10f')
将数据转换成我不想要的字符串对象。
这是我的代码:
stdev = numpy.std(dataset)
print(stdev)
结果:4.999999999999449e-05
print(stdev.dtype)
结果:float64
预期结果
我愿意将结果作为 float64 格式的十进制数。
【问题讨论】:
-
科学记数法是一种显示方式,不是实际数字。
0.00005显示为“5e-05”。您可以使用打印格式来控制显示,例如:"%f"%0.00005。查看np.set_printoptions的文档,了解如何控制 numpy 数组的显示。
标签: python numpy casting precision