所以我的数据框有一堆定价列,其中包含 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
本身来完成此操作。
试试这个(如果你的列中有浮动):
df[col] = df[col].map('${:,.2f}'.format)
此解决方案会产生警告