DataFrame to_csv:浮点格式取决于值

时间:2017-07-20 18:43:05

标签: python pandas csv dataframe formatting

我曾经像这样格式化各个浮点值以使它们适合Word表格:

if abs(v) < 0.01 or abs(v) >= 100000:
    s = format(v, '5.3e')
else:
    s = format(v, '.4g')
s = s.replace('.', ',')

现在我想使用将数据透视表转换为csv来实现,但我不知道如何根据值指定浮点数格式:

s = pv.to_csv(sep='\t', decimal=',', float_format=???)

有没有办法实现这个?

编辑:找到解决方案。

pv = pv.applymap(lambda x: '%5.3e' % x if (abs(x) < 0.01 or abs(x) >= 100000) else '%.4g' % x)
pv = pv.applymap(lambda x: x.replace('.', ','))

0 个答案:

没有答案