Styler 对象没有属性 style

EXO*_*DIA 5 python pandas pandas-styles

这是关于根据条件将背景颜色应用于数据框的后续问题

我能够根据以下内容应用样式:

f = lambda v: 'background-color: %s' % 'green' if v=='col' else ''
df = df.style.applymap(f, subset=['a'])
Run Code Online (Sandbox Code Playgroud)

我现在的挑战是我想在不同的列上做更多的过滤器。因此,如果我尝试再次应用此style.applymap功能df,我会收到标题中提到的错误。因为它可以应用于 DF 而不是 styler 对象。

作为一种解决方法,我发现使用df.data.style.applymap样式对象,但它不保留以前的样式。

我有多个过滤条件,可能涉及已应用样式的相同列。

如何依次应用多种样式?检查了文档但没有找到任何东西

noc*_*mbi 4

在数据帧上应用样式会返回Styler 对象,而不是 DataFrame。您无法对其应用进一步的样式操作。

您可以做的就是使用单个apply/应用所有样式操作applymap

如果这太复杂,一个不太好的技巧是创建新列以使所有样式成为可能,然后使用样式操作隐藏这些列。