我使用的是一个大型混合类型的pandas数据帧,在使用pandas.DataFrame.read_csv
写入并重新读取文件后,有大量观察结果与文本文件(或原始数据帧)中的原始值不匹配。如果我在文本编辑器中打开文本文件并找到一个特定的值,那么在读取之后它将不匹配。在
示例psuedo代码如下所示
# Hard code value found in text file, no additional digits
val = -2.631
# Re-read DataFrame
df = pd.read_csv('temp.csv', index=False)
print df.Var1.iloc[10]
... -2.6310000000000002
print df.Var1.iloc[10] == val
... False
谢谢。在
问题在于python存储float的方式。当您输入的字串转换成记忆体中的数字时,会有一些精确度的损失。您可以使用decimal模块将字符串精确地转换为float。在
我怀疑熊猫有一些内在的方式来处理漂浮物,但我不知道它是什么。在
相关问题 更多 >
编程相关推荐