You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中为Pandas DataFrame生成带颜色编码的交互式分类数据表格?

Python实现带颜色编码的交互式Pandas表格

针对你需要的按用餐情况给1-20编号的DataFrame生成带颜色编码的交互式表格需求,以下两种Python方案可以实现:

方案一:Pandas Styler(适合Jupyter Notebook/Lab环境)

Pandas自带的Styler工具可直接给DataFrame添加样式,支持交互式悬停、排序,完全匹配需求。

步骤1:构造示例数据

假设你的DataFrame包含编号、早餐(1=食用,0=未食用)、午餐(1=食用,0=未食用)三列:

import pandas as pd
import numpy as np

# 生成1-20编号的示例数据
np.random.seed(42)
data = {
    "编号": range(1, 21),
    "早餐": np.random.randint(0, 2, 20),
    "午餐": np.random.randint(0, 2, 20)
}
df = pd.DataFrame(data)

数据截图说明:表格共20行,编号列从1到20,早餐和午餐列是0或1的随机值。

步骤2:定义颜色编码规则并应用样式

def color_row(row):
    # 按规则返回行的背景色
    if row["早餐"] == 1 and row["午餐"] == 1:
        return ["background-color: #7ccd7c"] * len(row)  # 绿色
    elif row["早餐"] == 1 or row["午餐"] == 1:
        return ["background-color: #ffd700"] * len(row)  # 黄色
    else:
        return ["background-color: #ff6347"] * len(row)  # 红色

# 生成交互式样式表格
styled_df = df.style.apply(color_row, axis=1)
# 在Jupyter中直接显示
styled_df

预期效果截图说明:

  • 绿色行:同时食用早餐和午餐的编号行
  • 黄色行:仅食用早餐或午餐的编号行
  • 红色行:未食用任何一餐的编号行
    表格支持交互式排序,还可通过styler.set_table_styles添加筛选控件。

方案二:Plotly交互式表格(支持网页导出/独立展示)

如果需要更灵活的交互功能(如导出为HTML、添加自定义交互事件),可以用Plotly的Table组件。

代码实现

import plotly.graph_objects as go

# 生成颜色列表
colors = []
for _, row in df.iterrows():
    if row["早餐"] == 1 and row["午餐"] == 1:
        colors.append("#7ccd7c")
    elif row["早餐"] == 1 or row["午餐"] == 1:
        colors.append("#ffd700")
    else:
        colors.append("#ff6347")

# 创建交互式表格
fig = go.Figure(data=[go.Table(
    header=dict(
        values=list(df.columns),
        fill_color='#1f77b4',
        font=dict(color='white', size=12),
        align='left'
    ),
    cells=dict(
        values=[df["编号"], df["早餐"], df["午餐"]],
        fill_color=[colors, colors, colors],  # 每行应用对应颜色
        font=dict(color='black', size=11),
        align='left'
    )
)])

fig.update_layout(title="用餐情况颜色编码表格")
fig.show()

预期效果说明:生成的网页交互式表格支持悬停高亮、缩放、导出为PNG/HTML,行背景色完全符合设定的颜色规则。


内容的提问来源于stack exchange,提问作者gannu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:27:27