如何将不同的条件格式应用于不同的行?
Posted
技术标签:
【中文标题】如何将不同的条件格式应用于不同的行?【英文标题】:How to apply different conditional format to different rows? 【发布时间】:2021-06-11 13:08:16 【问题描述】:我有以下数据框: [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
但我只想将此格式应用于特定行,例如“每股账面价值 (mrq)”行。 我找不到任何可以帮助我的代码!!!
有人知道吗?
【问题讨论】:
HEELLLLLLLLPPPPPPPP! 【参考方案1】:您可以使用subset
参数,像这样传递一个元组(row_indexer, column_indexer)
...
s = df.style.apply(highlight_max, axis=1, subset=(0, df.columns))
行索引是从零开始的,因此0
代表您要格式化的第一行。
更多详情请看官方文档:Finer control: slicing
【讨论】:
完成!你知道我是否可以应用多个条件,例如某些行我想要最大值,而其他行我只想要最小值? 如果添加highlight_min
函数,则可以将apply()
调用替换为对applymap()
的2 次调用并再次传递subset
参数以定义每种样式所需的行要应用到。如果您遇到困难,那么您可以提出一个新问题,让我知道,我会看看
抱歉让您失望了,先生!但我没有能力,我还不是菜鸟,那些可调用的函数会吃掉我的大脑!如果你想试一试:***.com/questions/66619931/…以上是关于如何将不同的条件格式应用于不同的行?的主要内容,如果未能解决你的问题,请参考以下文章