首页 > 解决方案 > 在 Python 上的 excel 文件中加载不准确的数字/浮点数

问题描述

我正在尝试在 python 上加载 xlsx 文件,但我发现某些值不准确。我知道使用 Decimal 更准确,但我发现从数据集中给出的原始值不准确。这是 xlsx 文件中突出显示问题值的行这是我从 dataframe 中提取该值时的输出。这就是我加载数据的方式

import pandas as pd
data = pd.read_excel(r'A:\Deakin\Crypto\Export Trade History-2021-07-02 10_40_25.xlsx')
df = pd.DataFrame(data)

这是我打印 dataframe 时的值。我在文件如何加载和保存在程序中非常灵活,即如果有比 pandas 更好的东西可以读取和存储在数据框中,我会全神贯注

标签: pythonprecisionxlsx

解决方案


这里的问题是关于实际值的差异和值的显示。存储在 Excel 中的实际值为 17.9659xxx。但是,excel 仅显示为 17.966,因为由于某些设置,它仅显示 3 位小数。您实际上可以更改要显示的小数位数以查看实际值。而在 pandas DataFrame 中,当你这样做时print(df),它实际上默认显示 3 位小数的值。当你这样做时df['Amount'][633],它实际上会打印更多接近实际float64类型值的小数。

简而言之,您在 excel 中查看的值并不是实际存储的值。它已被四舍五入。


推荐阅读