如何将不同的条件格式应用于不同的行?

How to apply different conditional format to different rows?

我有以下数据框: [1]: https://i.stack.imgur.com/wBi6V.png

我使用以下代码突出显示每个单元格的最大值:

def highlight_max(s):
    try:
        is_max = s == s.max()
        return ['background-color: red' if v else '' for v in is_max]
    except TypeError:
        pass
    except KeyError:
        pass
    
s = df.style.apply(highlight_max, axis=1)
s

但我只想将此格式应用于特定行,例如行 'Book Value Per Share (mrq)'。 我找不到任何可以帮助我解决这个问题的代码!!!

有人知道吗?

您可以使用 subset 参数,像这样传递元组 (row_indexer, column_indexer)...

s = df.style.apply(highlight_max, axis=1, subset=(0, df.columns))

行索引从零开始,因此 0 代表您要格式化的第一行。

官方文档中有更多详细信息:Finer control: slicing