包含 True 的数据框的颜色行

Color rows of a dataframe containing True

*我想为 'Alert' 列中值为 'True' 的数据框的所有行着色。我尝试了一切,但没有任何效果。 *

Ch_Output = ['a','b','c','d','e','f']
controllo = [False, False, True, False,True, False]
df = pd.DataFrame(list(zip(Ch_Output, controllo)), columns =['Canali', 'Alert'])

试试这个:

import numpy as np
import pandas as pd


Ch_Output = ['a','b','c','d','e','f']
controllo = [False, False, True, False,True, False]
df = pd.DataFrame(list(zip(Ch_Output, controllo)), columns =['Canali', 'Alert'])



def highlight_True(s):
    is_mos = df['Alert'] == True
    return ['color: green' if v else 'color: red' for v in is_mos]

s = df.style.apply(highlight_True)
s

输出:

使用Styler.apply + Series.map.:

styles = df['Alert'].map({True: 'color: green', False: 'color: red'})

df.style.apply(lambda _: styles)

np.where:

import numpy as np

styles = np.where(df['Alert'], 'color: green', 'color: red')

df.style.apply(lambda _: styles)

*注意:一定要计算一次 styles 并重复使用相同的值,而不是为每一列重新计算相同的值。

两者都产生: