我用Pandas创建了一个DataFrame,我想用一个颜色索引(低值红色,高值绿色)给单元格着色。我成功地做到了这一点,但是着色阻止了我格式化单元格。
import pandas as pd
df = pd.DataFrame({'a': [0.5,1.5, 5],
'b': [2, 3.5, 7] })
df = df.style.background_gradient(cmap='RdYlGn')
df
其返回
然而,当我尝试使用df.round(2)
来格式化数字时,弹出了以下错误:AttributeError: 'Styler' object has no attribute 'round'
有人能告诉我出了什么问题吗?
2条答案
按热度按时间zujrkrfu1#
看一下pandas styling guide。
df.style
属性返回一个Styler
示例,而不是 Dataframe 。从panda样式指南中的示例来看,似乎 Dataframe 操作(如舍入)是先完成的,样式是最后完成的。panda样式指南中有一个关于精度的部分。该部分提出了三个不同的选项来显示值的精度。41ik7eoe2#
这对我很有效: