包含 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
并重复使用相同的值,而不是为每一列重新计算相同的值。
两者都产生:
*我想为 '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
并重复使用相同的值,而不是为每一列重新计算相同的值。
两者都产生: