Pandas样式不保留四舍五入

3
我想对Pandas DataFrame进行四舍五入,然后添加一个标题,但是Pandas的style.set_caption命令会破坏四舍五入。
例如:
pd.DataFrame(np.array([[0.555,0.444],[0.333,0.222]])).round(decimals = 2).style.set_caption("hello")

结果:
hello
    0   1
0   0.560000    0.440000
1   0.330000    0.220000

如何在保持圆角的同时添加标题?
2个回答

7
答案是Styler.format。例如:
df = pd.DataFrame(np.array([[0.555,0.444],[0.333,0.222]]))
df.style.set_caption("hello").format('{:.2f}')

对于Pandas 1.3.0+版本,您可以直接传递precision=2

df.style.set_caption("hello").format(precision=2)

输出:

在此输入图片描述


0

它确实保持了四舍五入,只是没有打印出两位小数。这是两个完全不同的概念,如果你在处理浮点数据,理解这一点非常重要。你可以使用pd.options.display.float_format来改变pandas显示浮点数的方式。

还要注意的是,在计算中保留所有小数位通常更好,只有在显示时再进行四舍五入。如果您的值是0.555,那么您应该使用0.555进行计算,并让任何执行打印操作的程序将其显示为0.56。人们关心限制小数点位数,而计算机则不关心。


5
иҝҷжҳҜиҜҜеҜјжҖ§зҡ„гҖӮstylerиҝ”еӣһдёҖдёӘHTMLеӯ—з¬ҰдёІпјҢдёҺpd.options.display.float_formatжІЎжңүеӨӘеӨ§е…іиҒ”гҖӮ - Quang Hoang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接