对不同的行应用不同的条件格式

2024-05-03 05:59:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我通常使用pandas在工作簿中生成好看的列表输出

如何对每行应用不同的条件格式来突出显示失败的单元格。对于R1行,值>;3,R2行值<;5等

或者说。。。对于每列,R2<;R1级

R1 = [1,10,3]
R2 = [4,5,6]
E_Rfsw = [7,8,9]

data = [R1, R2,E_Rfsw]
df = pd.DataFrame(data, 
                columns=[V for V in design.Vout],
                index=['FB R1 (kΩ)', 'FB R2 (kΩ)','Fsw resistor (kΩ)'],
                )
display(df.round(4)) 

Tags: ltgtdataframepandasdf列表datafb
1条回答
网友
1楼 · 发布于 2024-05-03 05:59:36

我相信您需要带有^{}的自定义函数:

def highlight_row(x):
    c1 = 'background-color: red'

    df1 = pd.DataFrame('', index=x.index, columns=x.columns)
    #filter index by R1, R2
    m1 = x.index.str.contains('R1')
    m2 = x.index.str.contains('R2')
    #compare filtered rows by conditions and add Falses for all rows
    mask = (x[m1] > 3).append((x[m2] > 5)).reindex(x.index, fill_value=False)
    #set values by mask
    df1 = df1.mask(mask, c1)
    return df1
df.style.apply(highlight_row, axis=None)

示例数据-仅删除列参数,因为未指定design.Vout

pic

相关问题 更多 >