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

时间:2017-07-07 06:17:20

标签: python pandas rounding display head

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

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

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

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

编辑2:解决了。感谢您的快速回复。

1 个答案:

答案 0 :(得分:8)

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

classList.remove

或永久更改:

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) 也适用。他们不会更改DataFrame。