Python 关于pandas.read\u csv的float\u precision参数

Python 关于pandas.read\u csv的float\u precision参数,python,algorithm,pandas,floating-point,ieee-754,Python,Algorithm,Pandas,Floating Point,Ieee 754,这篇文章标题中的论点的作者说: 浮点精度:字符串,默认无 指定C引擎应用于浮点值的转换器。普通转换器的选项为无,高精度转换器的选项为高,往返转换器的选项为往返 我想了解更多关于上述三种算法的信息,最好不用深入了解源代码1 Q:这些算法是否有我可以在谷歌上搜索的名称,以准确了解它们的功能和区别 (还有一个附带的问题:在这种情况下,“C引擎”到底是什么?是熊猫特有的东西,还是Python范围的东西?以上都没有?) 1由于不熟悉所讨论的代码库,我希望我需要很长时间才能找到相关的源代码。但是,即使

这篇文章标题中的论点的作者说:

浮点精度:字符串,默认无

指定C引擎应用于浮点值的转换器。普通转换器的选项为无,高精度转换器的选项为高,往返转换器的选项为往返

我想了解更多关于上述三种算法的信息,最好不用深入了解源代码1


Q:这些算法是否有我可以在谷歌上搜索的名称,以准确了解它们的功能和区别


(还有一个附带的问题:在这种情况下,“C引擎”到底是什么?是熊猫特有的东西,还是Python范围的东西?以上都没有?)



1由于不熟悉所讨论的代码库,我希望我需要很长时间才能找到相关的源代码。但是,即使我设法找到了它,我对这种算法的经验是,它们的实现是如此高度优化,并且处于如此低的水平,如果没有一些高级描述,至少对我来说,要了解发生了什么是非常困难的。

你问到了实际的算法-我能找到的最接近的是:

这是从一个相关的答案中摘取的,这是对MaxU()


从这里开始,你在C-land。您还问pandas为什么使用C-关键代码路径是用Cython或C编写的。

我只是用一个简单的示例来处理这个问题,我尽可能地告诉您,无论float\u precision选项中指定了什么,所有内容都以双精度读取。在不做更多研究的情况下,我倾向于假设双精度(64位)适用于99.99%的所有任务,否则我会将其作为字符串读入,并根据需要进行后续处理(64位基本上是numpy/pandas支持的最高浮点精度,至少在正常意义上是如此)。但是,好问题!!!我现在没有时间给出一个正确的答案,但是通读一遍应该会给你背景知识。
Ordinary: double_converter_nogil = xstrtod
High: double_converter_nogil = precise_xstrtod
Round-Trip: double_converter_withgil = round_trip