在写入分隔文件时,如何将数据帧的浮动列格式化为所需的小数位数



因此,我的数据帧有一堆用于定价的列,其值为16.99,相当于16美元和99美分。我希望我的价格是正确的,直到美分。但是,在将其导出到csv时,如果美分是10的倍数(例如16.50变成16.5(,它会通过删除最后一个零来截断定价。格式化它,甚至格式化它,然后将其解析为字符串都无济于事:

for col in df.columns:
if col.__contains__('USD'):
df[col] = '$'+df[col].round(decimals=2).astype(str).str.strip()
df.to_csv('pricing.txt', 't')

无论我在那里传递多少小数作为自变量,它都不起作用。目前的解决方法是用条件格式编写一个单独的函数,但有没有办法通过pandas本身来实现。

试试这个(如果你的列中有float(:

df[col] = df[col].map('${:,.2f}'.format)

最新更新