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

xen*_*nom 5 python rounding head pandas display

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

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

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

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

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

ayh*_*han 12

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

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
Run Code Online (Sandbox Code Playgroud)

或永久更改:

pd.set_option('precision', 3)
Run Code Online (Sandbox Code Playgroud)

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