Pandas data precision [duplicate]
No, 34.98774564765
is merely being printed by default with six decimal places:
>>> pandas.DataFrame([34.98774564765])
0
0 34.987746
The data itself has more precision:
>>> pandas.DataFrame([34.98774564765])[0].data[0]
34.98774564765
You can change the default used for printing frames by altering pandas.options.display.precision
.
For example:
>>> pandas.set_option("display.precision", 8)
>>> pandas.DataFrame([34.98774564765])
0
0 34.98774564765
You can also use the 'display.float_format'
option
with pd.option_context('display.float_format', '{:0.20f}'.format):
print(pd.DataFrame([34.98774564765]))
0
0 34.98774564765000150146
Your data is stored with the precision, corresponding to your dtype (np.float16
, np.float32
, np.float64
).
pd.options.display.precision
- allows you to change the precision for printing
the data