熊猫在将DataFrame导出到CSV时如何保持LAST尾随零

时间:2019-07-13 23:17:20

标签: python python-3.x pandas dataframe export-to-csv

在这个问题上,我的目标是在将zeros导出到DataFrame时保留最后 跟踪 CSV

我的dataset如下:

EST_TIME    Open    High
2017-01-01  1.0482  1.1200    
2017-01-02  1.0483  1.1230
2017-01-03  1.0485  1.0521
2017-01-04  1.0480  1.6483
2017-01-05  1.0480  1.7401
...., ...., ....
2017-12-31  1.0486  1.8480

我导入并创建一个DataFrame并通过执行以下操作将其保存为CSV:

df_file = '2017.csv'
df.to_csv(df_file, index=False)
files.download(df_file)

当我查看CSV时,会看到以下内容:

EST_TIME    Open    High
2017-01-01  1.0482  1.12   
2017-01-02  1.0483  1.123
2017-01-03  1.0485  1.0521
2017-01-04  1.048   1.6483
2017-01-05  1.048   1.7401
...., ...., ....
2017-12-31  1.0486  1.848

末尾的所有零都消失了。保存CSV时,我想保留尾随零,并将其保留在小数点后4位。

您能告诉我如何实现这一目标吗?

2 个答案:

答案 0 :(得分:1)

在写入csv之前,您可以调用apply并如此使用format

df_file = '2017.csv'
df['Open'] = df['Open'].apply('{:0<6}'.format)
df['High'] = df['High'].apply('{:0<6}'.format)
df.to_csv(df_file, index=False)

要应用于所有列,可以使用applymap

df = df.applymap('{:0<6}'.format)

希望这会有所帮助。

答案 1 :(得分:0)

  

尝试一下:浮点格式都可以显示您的数据,小数点后4位   并保存为小数点后4位。

     

读大熊猫时:

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

保存为CSV时。

df.to_csv('your_file.csv', float_format='%.4f',index=False)

enter image description here