繁体   English   中英

如何舍入值只显示在pandas中,同时保留数据框中的原始值?

[英]How to round values only for display in pandas while retaining original ones in the dataframe?

我希望只在数据框中舍入值以用于显示目的,当我使用head()或tail()时,我希望数据帧保留原始值。

我尝试使用圆方法,但它更改了原始数据框中的值。 我不希望每次都为此创建一个单独的副本。

除了创建单独的副本之外还有其他方法吗?

编辑:我无法浏览值,因为有些列有e ^ 10符号。 我只想看看最多两到三个小数位,而不是一直看着指数值。

编辑2:解决了。 感谢您及时的回复。

您可以暂时更改显示选项:

with pd.option_context('precision', 3):
    print(df.head())

       0      1      2      3      4
0 -0.462 -0.698 -2.030  0.766 -1.670
1  0.925  0.603 -1.062  1.026 -0.096
2  0.589  0.819 -1.040 -0.162  2.467
3 -1.169  0.637 -0.435  0.584  1.232
4 -0.704 -0.623  1.226  0.507  0.507

或永久更改:

pd.set_option('precision', 3)

在这种情况下,简单的print(df.head().round(3))也适用。 他们不会更改DataFrame。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM