默认情况下,数据框中的数值仅存储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.
由于
答案 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.float16
,np.float32
,np.float64
)相对应。
pd.options.display.precision
- 允许您更改printing
数据