如何将不同的条件格式应用于不同的行?
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
我有以下数据框: [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