我有一个带有几列的数据框(一个布尔值和一个数字)。我想使用熊猫样式设置条件格式,因为我将基于以下条件在电子邮件中以html格式输出数据框:1.布尔列= Y和2.数字列> 0。
例如,
col1 col2
Y 15
N 0
Y 0
N 40
Y 20
在上面的示例中,我要突出显示第一行和最后一行,因为它们符合这些条件。
答案 0 :(得分:0)
是的,有办法。使用lambda表达式应用条件,并使用dropna()函数来区分None / NaN值:
df["col2"] = df["col2"].apply(lambda x:x if x > 0 else None)
df["col1"] = df["col1"].apply(lambda x:x if x == 'Y' else None)
df.dropna()
答案 1 :(得分:0)
我使用了以下方法,并且有效:
def highlight_color(s): 如果s.Col2> 0且s.Col1 ==“ N”: 返回['background-color:red'] * 7 其他: 返回['background-color:white'] * 7
df.style.apply(highlight_color,axis = 1).render()