【发布时间】:2017-04-25 18:02:19
【问题描述】:
我有一个带有任意大小值的熊猫数据框(其大小是未知的先验),比如:
>>> import pandas as pd
>>> df = pd.DataFrame({'a' : [0.0000001, 2, 3], 'b' : [4, 5000000, 0.6]})
默认显示会将某些数字转换为工程格式
>>> df
a b
0 1.000000e-07 4.0
1 2.000000e+00 5000000.0
2 3.000000e+00 0.6
我不在乎。然而,我的目标是将其写入没有工程格式的 csv 文件,同时也不打印不必要的 0。要求的第二部分是控制文件大小,因为有数百万行。
例如,如果我运行df.to_csv(csv_file),那么文件看起来像
,a,b
0,1e-07,4.0
1,2.0,5000000.0
2,3.0,0.6
如果我运行df.to_csv(csv_file, float_format="%.7f"),它看起来像(注意所有不必要的 0):
,a,b
0,0.0000001,4.0000000
1,2.0000000,5000000.0000000
2,3.0000000,0.6000000
我想在输出文件中包含的是:
,a,b
0,0.0000001,4.0
1,2.0,5000000.0
2,3.0,0.6
有没有一种简单的方法来实现这一点?
【问题讨论】:
标签: python pandas precision export-to-csv