我想这样做:

y = 0.2            => y = 0.200
x = 0.24524452     => x = 0.245


我提出了以下要求,请在逗号后保留3个数字

pd.options.display.float_format = '{: .3f}'. format


但是当我使用时:

pd.to_json('path')


我在文件中发现包含:

y = 0.2
x = 0.245


为什么to_json函数删除零?

最佳答案

更好的方法是在保存时添加double_precision参数:

df
     a         b      c
0  0.2  0.245673  1.235

df.to_json(double_precision=3)
'{"a":{"0":0.2},"b":{"0":0.246},"c":{"0":1.235}}'


请注意,只要您希望数值保持数字形式,就不能将0.2保存为0.200。

但是,您可以将其转换为字符串。例,

df.applymap('{:.3f}'.format).to_json()
'{"a":{"0":"0.200"},"b":{"0":"0.246"},"c":{"0":"1.235"}}'

07-24 21:13