如何根据单元格中的值使用数据框和 python 突出显示行?

how to highlight rows using dataframe and python based on value in a cell?

我想根据单元格上的值突出显示数据框和 csv 文件中的记录?

我尝试创建一个函数并将此函数应用于数据框,但它没有突出显示任何记录。

输出必须是:

代码:

def_test_twtr_preds= pd.read_excel(path,names=col_names)


    def highlight_sentiment(status):
        if status == "Positive":
            return ['background-color: yellow']
        else:
            return ['background-color: white']
    
    def_test_twtr_preds.style.apply(highlight_sentiment,axis =1)

哪里出错了??

可能是您在调用函数时没有发送输入参数 status

def_test_twtr_preds.style.apply(highlight_sentiment("positive"),axis =1)

这是一个有效的解决方案(用合成数据证明):

df  = pd.DataFrame({"a": [1, 2, 3], "status": ["Negative", "Positive", "Positive"]})

def highlight_sentiment(row):
    if row["status"] == "Positive":
        return ['background-color: yellow'] * len(row)
    else:
        return ['background-color: white'] * len(row)
    
df.style.apply(highlight_sentiment, axis=1)

输出为:

要导出到 Excel,请执行以下操作:

df = df.style.apply(highlight_sentiment, axis=1)
df.to_excel("my_file.xlsx")