熊猫数据精确

use*_*097 7 python pandas

默认情况下,数据框中的数值仅存储6位小数.我如何获得完整的精度.

__PRE__

谢谢

don*_*mus 16

不,34.98774564765仅仅是默认打印六位小数:

>>> pandas.DataFrame([34.98774564765])
           0
0  34.987746
Run Code Online (Sandbox Code Playgroud)

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

>>> pandas.DataFrame([34.98774564765])[0].data[0]
34.98774564765
Run Code Online (Sandbox Code Playgroud)

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

例如:

>>> pandas.set_option("display.precision", 8)
>>> pandas.DataFrame([34.98774564765])
                0
0  34.98774564765
Run Code Online (Sandbox Code Playgroud)


piR*_*red 9

您也可以使用该'display.float_format'选项

with pd.option_context('display.float_format', '{:0.20f}'.format):
    print(pd.DataFrame([34.98774564765]))

                        0
0 34.98774564765000150146
Run Code Online (Sandbox Code Playgroud)


Max*_*axU 6

您的数据存储与精确度,相当于你的D型(np.float16,np.float32,np.float64).

pd.options.display.precision- 允许您更改printing数据的精度

  • 我如何在上下文管理器中设置它? (3认同)