python - 如何根据值为 Python Pandas 中的整行着色?

标签 python pandas

所以我想出了如何使用 pandas 中的 Style 模块为单个单元格和列着色。但是,我想根据该行中单个单元格中的值为整行着色。

例如,如果 A 列中的单元格 C 的值为 23,则将 C 的行涂成黄色。

我该怎么做?

最佳答案

使用:

df =  pd.DataFrame({'A':[23,25,10], 'B':[7,8,3], 'C':[8,3,1]})
print (df)
    A  B  C
0  23  7  8
1  25  8  3
2  10  3  1

def highlight_col(x):
    #copy df to new - original data are not changed
    df = x.copy()
    #set by condition
    mask = df['A'] == 23
    df.loc[mask, :] = 'background-color: yellow'
    df.loc[~mask,:] = 'background-color: ""'
    return df    

df.style.apply(highlight_col, axis=None)

picture

关于python - 如何根据值为 Python Pandas 中的整行着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47469478/

相关文章:

python - 在 python 中使用动态参数列表调用函数

python - 如何过滤 Django 对象以接受匹配项和 NULL?

python - 计算 pandas 数据框中多列中唯一值的出现次数

python - 我怎样才能捕捉到 pandas DataError?

python - Pandas , python 。如何根据观察次数过滤掉天数?

python - 带有值的多索引数据框的字典列表列表

python - 每 x 分钟执行一个函数 : sched or threading. 定时器?

python - 检索 Nose 测试用例的结果并在拆解中使用

python - 声明# -*- coding : utf-8 -*- after #!/usr/bin/python3 是多余的吗?

pandas - 如何在单元格顶部显示文本