python - 在 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 更好的东西可以读取和存储在数据框中,我会全神贯注
解决方案
这里的问题是关于实际值的差异和值的显示。存储在 Excel 中的实际值为 17.9659xxx。但是,excel 仅显示为 17.966,因为由于某些设置,它仅显示 3 位小数。您实际上可以更改要显示的小数位数以查看实际值。而在 pandas DataFrame 中,当你这样做时print(df)
,它实际上默认显示 3 位小数的值。当你这样做时df['Amount'][633]
,它实际上会打印更多接近实际float64
类型值的小数。
简而言之,您在 excel 中查看的值并不是实际存储的值。它已被四舍五入。
推荐阅读
- node.js - npm start 启动失败
- javascript - 如何在提交表单之前加密所有表单字段值并解密以在jsp页面上查看
- amazon-web-services - 授予对 S3 文件夹的跨账户访问权限,仅限于每个账户的特定文件夹
- c# - 用鼠标调整线条大小
- sql - 更快的流程返回方式
- javascript - 如何选择具有“角色”属性的元素?
- c++ - 获取类成员函数中的参数数量
- azure-functions - 如何更新使用 Azure Function 部署的机器学习模型
- python - Jupyter 中的 Cython ImportError
- android - TWA 中的推送通知在 Chrome 图标中显示一个指示器,而不是应用程序图标