首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas数据精度

Pandas数据精度
EN

Stack Overflow用户
提问于 2017-04-05 05:22:25
回答 3查看 63.3K关注 0票数 18

默认情况下,数据帧中的数值最多只能存储6个小数。如何才能获得完整的精度。

例如

34.98774564765存储为34.987746。我确实想要完整的价值。

0.00000565存储为0。。

除了将格式应用到每个数据帧之外,是否有任何全局设置可以帮助保持精度。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2017-04-05 05:26:38

不,默认情况下,34.98774564765只打印六位小数:

代码语言:javascript
复制
>>> pandas.DataFrame([34.98774564765])
           0
0  34.987746

数据本身具有更高的精度:

代码语言:javascript
复制
>>> pandas.DataFrame([34.98774564765])[0].data[0]
34.98774564765

您可以通过更改pandas.options.display.precision来更改用于打印框架的默认值。

例如:

代码语言:javascript
复制
>>> pandas.set_option("display.precision", 8)
>>> pandas.DataFrame([34.98774564765])
                0
0  34.98774564765
票数 49
EN

Stack Overflow用户

发布于 2017-04-05 05:41:53

您还可以使用'display.float_format'选项

代码语言:javascript
复制
with pd.option_context('display.float_format', '{:0.20f}'.format):
    print(pd.DataFrame([34.98774564765]))

                        0
0 34.98774564765000150146
票数 24
EN

Stack Overflow用户

发布于 2017-04-05 05:25:17

您的数据是存储的,其精度与您的数据类型(np.float16np.float32np.float64)相对应。

pd.options.display.precision -用于更改printing数据的精度

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43217916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档