根据列中的数据,DataFrame 中每行的不同颜色

发布于 2025-01-15 18:46:57 字数 694 浏览 0 评论 0原文

所以我想做的是,根据列中的内容,设置整行的颜色(查看图片对于上下文

示例:如果“状态”列中的数据为“已完成”,则该行的颜色为蓝色;对于“阅读”,颜色是绿色等。

我的代码:

import pandas as pd
df = pd.read_csv("data.txt", delimiter='|')

def colored_text():
    if df.loc[df['Status'] == 'Reading']:
        return 'color: green'
    else:
        return 'color: yellow'
    

df.style.applymap(colored_text)

print(df)

输出只是白色表格。 我也尝试过 df.style.apply(colored_text) ,结果相同。

那时我迷失了,所以我尝试 df.style.set_properties(color="green") 而不是 .apply(colored_text) ,再次,输出是同样的白色桌子。

所以现在我什至不确定 def color_text(): 中的代码是否正确

So what I'm trying to do is, based on content in column, set color for whole row (view image for context)

Example: If data in column Status is "Finished", then the color for that row is blue; for "Reading" the color is green etc.

My code:

import pandas as pd
df = pd.read_csv("data.txt", delimiter='|')

def colored_text():
    if df.loc[df['Status'] == 'Reading']:
        return 'color: green'
    else:
        return 'color: yellow'
    

df.style.applymap(colored_text)

print(df)

Output of this is only white-colored table.
I've also tried df.style.apply(colored_text) with the same result.

At that point I was lost, so I tried df.style.set_properties(color="green") instead of .apply(colored_text) and again, the output was the same white-colored table.

So now I'm not even sure if code in def colored_text(): is correct or not

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

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

发布评论

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

评论(1

萌吟 2025-01-22 18:46:57

使用:

import pandas as pd
df = pd.DataFrame({'status': ['Reading', 'Writing', 'Reading'], 'other col': range(3)})
n = len(df.columns)
df.style.apply(lambda x: ["background-color: red"]*n if x['status']== 'Reading' else ["background-color: white"]*n, axis = 1)

输出:

在此处输入图像描述

Use:

import pandas as pd
df = pd.DataFrame({'status': ['Reading', 'Writing', 'Reading'], 'other col': range(3)})
n = len(df.columns)
df.style.apply(lambda x: ["background-color: red"]*n if x['status']== 'Reading' else ["background-color: white"]*n, axis = 1)

Output:

enter image description here

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