如何将两个以上的格式化条件添加到数据框中的不同行?

How to add more than two formatting conditions to different row in a dataframe?

我问了这个问题 @davmos

友善地回答了这个问题

现在我有一个新问题,就是在不同的数据行中添加两个以上的条件!

所以我有以下数据框:

我在彩色行中突出显示了最大值,但我还想在其他行中添加其他条件。例如 'FORWARD P/E' 行中的最小值

所以我的代码如下:

def highlight_min(s):
try:
    is_min = s == s.min()
    return ['background-color: green' if v else '' for v in is_min]
except TypeError:
    pass
except KeyError:
    pass

def highlight_max(s):
    try:
        is_max = s == s.max()
        return ['background-color: green' if v else '' for v in is_max]
    except TypeError:
        pass
    except KeyError:
        pass



df.style.apply(highlight_max, axis=1, subset=(['Book Value Per Share (mrq)', 'Diluted EPS (ttm)','EBITDA', 'Gross Profit (ttm)'], df.columns))

我的问题是如何在同一数据集的其他行中使用其他条件公式!

非常感谢:)

如果将 APPLY 函数连接到所需的每个函数,则可以进行多个处理。我没有数据,所以我得到了 AAPL 的损益表并进行了调整。我把最小值改成了红色。refer to pandas style

(df.style.apply(highlight_max, axis=1, subset=(['Research Development', 'Operating Income','Cost Of Revenue'], df.columns))
.apply(highlight_min, axis=1, subset=(['Research Development', 'Operating Income','Cost Of Revenue'], df.columns)))