Python Panda.read_csv 四舍五入得到导入错误?

标签 python pandas

我的 csv 文件中有一个 10000 x 250 的数据集。当我使用命令时

    data = pd.read_csv('pool.csv', delimiter=',',header=None)

当我处于正确的路径时,我实际上导入了这些值。 首先我得到数据框。因为我想使用 numpy 包,所以我需要使用将其转换为其值

data = data.values

这就是我变得奇怪的时候。我在文件中的位置 [9999,0] 处有 -0.3839 作为值。然而,在导入并使用它进行计算后,我注意到 Python(或 numpy)在导入时做了一些奇怪的事情。

调用 data[9999,0] 的值应该给出预期的 -0.3839,但给出类似 -0.383899892....

我已经用其他语言(例如 Matlab)导入了该文件,并且不存在舍入这些值的问题。我还尝试使用 pandas 包中的 .to_csv 命令而不是 .values。然而,存在完全相同的问题。

第一列的最后 10 个元素是

-0.2716
0.3711
0.0487
-1.518
0.5068
0.4456
-1.753
-0.4615
-0.5872
-0.3839

是否有任何导入例程不会出现这些舍入错误?

最佳答案

传递float_ precision='round_trip'应该可以解决这个问题:

data = pd.read_csv('pool.csv',delimiter=',',header=None,float_precision='round_trip')

关于Python Panda.read_csv 四舍五入得到导入错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686497/

相关文章:

python - 在 Pandas 中展开数组

python - append 两个 pandas 数据帧时, bool 值将转换为 float

python - 使用 Chromedriver 制作程序,出现错误 : "Could not get version for Chrome with this command"

python - 模块未找到错误 : No module named 'pygam'

python - 读取文件,进行一些更改并将结果写回

pandas - 按行条件将两列或多列组合成新的列

python - Pandas:导出到 Excel 时如何格式化行和列(行格式优先)?

python - 使用 Kivy 如何在 ScrollView 中生成缩放按钮

python - math.sin 不正确的结果

Python 等效于 R c() 函数,用于数据框列索引?