Pandas df.style.bar 同时保持四舍五入

elz*_*elz 7 python dataframe pandas

当我在舍入后将条形样式应用于 pandas 数据框时,我丢失了舍入格式,并且我无法弄清楚如何在舍入后应用舍入格式,因为df.style.bar不返回数据框,而是返回“Styler”对象。

df = pd.DataFrame({'A': [1.23456, 2.34567,3.45678],  'B':[2,3,4]})
df['A'] = df['A'].round(2)
df.style.bar(subset='A')
Run Code Online (Sandbox Code Playgroud)

这返回

在此输入图像描述

但我不希望显示所有这些额外的零。

Aks*_*gal 8

您必须将样式器视为纯粹原始数据帧的渲染。这意味着您可以使用某种格式来显示四舍五入到小数点后两位的数据。

样式背后的基本思想是,用户希望修改数据的呈现方式,但仍保留底层格式以供进一步操作。

f = {'A':'{:.2f}'} #column col A to 2 decimals
df.style.format(f).bar(subset='A')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

阅读这篇优秀的教程,了解您可以用它做什么以及如何做。

编辑:添加了一个格式化字典以显示一般用途并仅将格式应用于单个列。