如何解决Pandas热力图中浮点数显示多余小数位的问题?
解决Pandas表格热力图浮点数多余小数位问题
可以通过style.format()方法针对不同列设置自定义显示格式,既不修改DataFrame原数据,又能精准控制各列的小数位数:
方法一:按列指定格式字典
df.style.background_gradient(cmap='RdYlGn')\ .format({ # 除Average Rating外的列保留1位小数 col: "{:.1f}" for col in df.columns if col != "Average Rating" })\ # 单独设置Average Rating列保留2位小数 .format({"Average Rating": "{:.2f}"})\ .set_properties(**{'font-size': '15px'})
方法二:用subset参数分批量设置
df.style.background_gradient(cmap='RdYlGn')\ # 选中除Average Rating外的所有列,设置1位小数 .format("{:.1f}", subset=df.columns.drop("Average Rating"))\ # 单独选中Average Rating列,设置2位小数 .format("{:.2f}", subset=["Average Rating"])\ .set_properties(**{'font-size': '15px'})
这两种方式都是在样式渲染阶段控制显示效果,不会改变DataFrame内部的数值精度,同时完美适配不同列的小数位需求,解决多余小数位影响可视化的问题。
内容的提问来源于stack exchange,提问作者Henrique Mantovani
相关产品推荐
相关产品推荐

