看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
在 pandas 中,数据计算时的精度受到底层数据类型的影响。pandas 使用浮点数数据类型(float64)来存储和计算数值数据,默认情况下,它遵循 IEEE 754 浮点数标准,具有双精度(64位)的精度。
在数据计算过程中,pandas 会尽力保持结果的精度,并尊重输入数据的精度。然而,由于浮点数的有限精度表示,可能会导致精度损失和舍入误差。
本例将讨论如何指定小数的精度。
我们来构造一个超长的小数:
import pandas as pd
pd.Series([5.342498242478974238974])
'''
0 5.342498
dtype: float64
'''
我们发现,构造的数据失去了精度,只有六位小数了。那如何可以使用更高的精度呢?
我们来看一下系统配置的浮点精度:
# 以下两行代码效果相同
pd.options.display.precision
pd.get_option('display.precision')
# 6
可以看到默认为 6 位小数。我们可以重新设置这个精度:
# 以下两行代码效果相同
pd.options.display.precision = 12
pd.set_option('display.precision', 12)
这样精度就被设置为 12 位了,再来构造上边的 Series:
pd.Series([5.342498242478974238974])
'''
0 5.342498242479
dtype: float64
'''
这样就实现了我们的需求,后续整个数据计算过程中,浮点的精度就是 12 位了。
(完)
更新时间:2024-08-18 16:17:11 标签:pandas python 精度 浮点