【发布时间】:2019-11-01 03:01:19
【问题描述】:
我有一个浮点数的 pandas 数据框,希望写出 to_csv,将空格设置为分隔符,并用尾随零填充,以便它仍然可读(即具有等间距的列)。
复杂的因素是我还希望每列四舍五入到不同的小数位数(有些需要更高的精度)。
重现:
import pandas as pd
df = pd.DataFrame( [[1.00000, 3.00000, 5.00000],
[1.45454, 3.45454, 5.45454]] )
df_rounded = df.round( {0:1, 1:3, 2:5} )
df_rounded.to_csv('out.txt', sep=' ', header=False)
out.txt 的当前结果:
0 1.0 3.0 5.0
1 1.5 3.455 5.45454
期望:
0 1.0 3.000 5.00000
1 1.5 3.455 5.45454
【问题讨论】:
-
您是否尝试将数据帧值转换为字符串然后保存?
-
目前最好的:
print("\n".join([','.join(line.split()) for line in df_rounded.to_string(index=False).splitlines()]))
标签: python pandas csv dataframe