基于其他列值的 pandas 颜色单元格

发布于 2025-01-14 16:59:50 字数 764 浏览 0 评论 0原文

我想根据另一列的值对一列上的 DataFrame 的红色单元格进行着色。

这是一个例子:

df = pd.DataFrame([
  { 'color_A_in_red': True , 'A': 1 },
  { 'color_A_in_red': False , 'A': 2 },
  { 'color_A_in_red': True , 'A': 2 },
])

应该给出: colored_df

我知道如何将 df 的单元格着色为红色,但仅基于此单元格的值,而不是另一个单元格的值:

df_style = df.style
df_style.applymap(func=lambda x: 'background-color: red' if x == 2 else None, subset=['A'])
df_style

wring_color_df< /a>

有没有办法根据另一列的值对 DataFrame 的单元格进行着色?

I would like to color in red cells of a DataFrame on one column, based on the value of another column.

Here is an example:

df = pd.DataFrame([
  { 'color_A_in_red': True , 'A': 1 },
  { 'color_A_in_red': False , 'A': 2 },
  { 'color_A_in_red': True , 'A': 2 },
])

should give:
colored_df

I know how to color a cell of a df in red but only based on the value of this cell, not the value of another cell:

df_style = df.style
df_style.applymap(func=lambda x: 'background-color: red' if x == 2 else None, subset=['A'])
df_style

wring_color_df

Is there a way to color cells of a DataFrame based on the value of another column ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

安穩 2025-01-21 16:59:51

对样式的 DataFrame 使用自定义函数是最灵活的解决方案:

def highlight(x):
    c = f"background-color:red" 
    #condition
    m = x["color_A_in_red"]
    # DataFrame of styles
    df1 = pd.DataFrame('', index=x.index, columns=x.columns)
    # set columns by condition
    df1.loc[m, 'A'] = c
    return df1


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

Use custom function for DataFrame of styles is most flexible solution here:

def highlight(x):
    c = f"background-color:red" 
    #condition
    m = x["color_A_in_red"]
    # DataFrame of styles
    df1 = pd.DataFrame('', index=x.index, columns=x.columns)
    # set columns by condition
    df1.loc[m, 'A'] = c
    return df1


df.style.apply(highlight, axis=None)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文