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

时间:2021-01-28 21:46:00

标签: python pandas dataframe

当我在四舍五入后将条形样式应用到 Pandas 数据框时,我丢失了四舍五入格式,并且我无法弄清楚如何应用四舍五入格式,因为 df.style.bar 不返回数据框而是一个“造型器”对象。

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')

返回

enter image description here

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

1 个答案:

答案 0 :(得分:3)

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

<块引用>

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

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

enter image description here

阅读此 excellent tutorial 以了解您可以使用它做什么以及如何做。

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