【发布时间】:2013-11-28 23:26:27
【问题描述】:
问题
是否可以为 Python pandas 封装方法 pandas.DataFrame.to_csv 打印的每一列专门指定一个浮点精度?
背景
如果我有一个像这样排列的pandas 数据框:
In [53]: df_data[:5]
Out[53]:
year month day lats lons vals
0 2012 6 16 81.862745 -29.834254 0.0
1 2012 6 16 81.862745 -29.502762 0.1
2 2012 6 16 81.862745 -29.171271 0.0
3 2012 6 16 81.862745 -28.839779 0.2
4 2012 6 16 81.862745 -28.508287 0.0
float_format 选项可用于指定精度,但这会在打印时将该精度应用于数据帧的所有列。
当我这样使用时:
df_data.to_csv(outfile, index=False,
header=False, float_format='%11.6f')
我得到以下信息,其中vals 的精度不准确:
2012,6,16, 81.862745, -29.834254, 0.000000
2012,6,16, 81.862745, -29.502762, 0.100000
2012,6,16, 81.862745, -29.171270, 0.000000
2012,6,16, 81.862745, -28.839779, 0.200000
2012,6,16, 81.862745, -28.508287, 0.000000
【问题讨论】:
标签: python csv numpy floating-point pandas