gpt4 book ai didi

python - 以全精度打印 numpy.float64

转载 作者:IT老高 更新时间:2023-10-28 22:23:02 24 4
gpt4 key购买 nike

打印 numpy.float64 并将其转换为字符串的正确/可接受的方法是什么?我注意到只使用 printstr() 会失去一些精度。但是,repr 保持完整的精度。例如:

>>> import numpy
>>> print numpy.float64('6374.345407799015')
6374.3454078
>>> print repr(numpy.float64('6374.345407799015'))
6374.3454077990154
  1. 我假设调用 print 会变成调用 float64 对象上的 str()。 numpy.float64 的 __str__() 也是用 '%s' % (float(self)) 之类的东西实现的,或者以某种方式使用 Python 的内置 float ()?我试图快速查看 numpy 的源代码,但不是很明显发生了什么。

  2. 我一直认为 repr() 应该返回有效的 Python 代码,eval() 可以使用这些代码重新创建对象。这是公认的约定吗?幸运的是,在这种情况下,numpy 没有遵循这个约定,因为 repr() 只返回原始数字作为字符串,而不是像 "numpy.float64('6374.345407799015')" .

所以,所有这些都让我感到困惑。将 numpy.float64 转换为字符串和/或打印它同时保证始终具有相同的完整精度的正确方法是什么?

最佳答案

astype 方法效果很好:

>>> numpy.float64('6374.345407799015').astype(str)
'6374.345407799015'

关于python - 以全精度打印 numpy.float64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12956333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com