我曾经像这样格式化各个浮点值以使它们适合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('.', ','))