[英]Write pandas dataframe to_csv in columns with trailing zeros
我有一個浮點數的 pandas dataframe 並希望寫出 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)
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
您可以使用df.to_string()
( docs ) 獲取 dataframe 的字符串表示形式。 然后只需將此字符串寫入文本文件即可。
該方法還具有col_space
參數以進一步調整列之間的間距。
例子:
with open('out.txt', 'w') as file:
file.writelines(df_rounded.to_string(header=False))
輸出:
0 1.0 3.000 5.00000
1 1.5 3.455 5.45454
有 pandas df.to_csv(float_format='%.5f')
( 更多信息),但它將格式應用於所有列中的值。 而在您的情況下,您需要為每列提供不同的格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.