熊猫数据精确

时间:2017-04-04 21:22:25

标签: python pandas

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

eg 34.98774564765 is stored as 34.987746. I do want the full value. 
eg2 0.00000565  is stored as 0. .
apart from applying formats to each data frame is there any global setting that helps preserving the precision.

由于

3 个答案:

答案 0 :(得分:13)

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

>>> pandas.DataFrame([34.98774564765])
           0
0  34.987746

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

>>> pandas.DataFrame([34.98774564765])[0].data[0]
34.98774564765

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

例如:

>>> pandas.set_option("display.precision", 8)
>>> pandas.DataFrame([34.98774564765])
                0
0  34.98774564765

答案 1 :(得分:7)

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

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

                        0
0 34.98774564765000150146

答案 2 :(得分:5)

您的数据存储的精确度与您的dtype(np.float16np.float32np.float64)相对应。

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

的精度