Pandas 此条件的 DataFrame 样式

Pandas DataFrame Style for this condition

如何根据给定条件将 df.style 用于 DataFrame 的子集?

df = DataFrame({'A':[3,4,5],'B':[9,10,15],'C':[3,4,5]})
df
    A   B   C
0   3   9   3
1   4   10  4
2   5   15  1

df1 = df.eq(df.iloc[:, 0], axis=0)
df1
     A       B       C
0   True    False   True
1   True    False   True
2   True    False   True

我想突出显示为 False 的单元格。但是对 df 进行更改,而不仅仅是 df1

已编辑问题。它与前面的问题不同,因为它们只处理元素着色。但是我想根据以上条件上色。

您需要使用 style.Styler.apply 创建 DataFramebackground-color

def highlight(x):
    c1 = 'background-color: red'
    c2 = '' 
    m = x.eq(x.iloc[:, 0], axis=0)
    df1 = pd.DataFrame(c2, index=x.index, columns=x.columns)
    #add color red by False values 
    df1 = df1.where(m, c1)
    return df1

df.style.apply(highlight, axis=None)