默认情况下,数据帧中的数值最多只能存储6个小数。如何才能获得完整的精度。
例如
34.98774564765存储为34.987746。我确实想要完整的价值。
0.00000565存储为0。。
除了将格式应用到每个数据帧之外,是否有任何全局设置可以帮助保持精度。
谢谢
发布于 2017-04-05 05:26:38
不,默认情况下,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发布于 2017-04-05 05:41:53
您还可以使用'display.float_format'选项
with pd.option_context('display.float_format', '{:0.20f}'.format):
print(pd.DataFrame([34.98774564765]))
0
0 34.98774564765000150146发布于 2017-04-05 05:25:17
您的数据是存储的,其精度与您的数据类型(np.float16、np.float32、np.float64)相对应。
pd.options.display.precision -用于更改printing数据的精度
https://stackoverflow.com/questions/43217916
复制相似问题