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

如何基于Pandas DataFrame中C列条件为A列单元格着色?

在Pandas中根据其他列条件为单元格着色

当然可以搞定!在Pandas里,我们可以借助Styler工具轻松实现这种基于其他列条件的单元格着色需求,正好匹配你提到的三个场景。

实现思路

核心是用Styler.apply()方法,自定义一个逐行处理的样式函数:判断每行C列的取值,然后给对应行的A列单元格设置不同的背景色,其他列保持默认样式。

完整代码示例

先构造一个测试用的DataFrame(你可以直接替换成自己的真实数据):

import pandas as pd

# 示例数据集,替换成你的实际DataFrame即可
df = pd.DataFrame({
    'A': [15, 25, 35, 45, 55],
    'B': ['apple', 'banana', 'cherry', 'date', 'elderberry'],
    'C': ['poor', 'good', 'very good', 'poor', 'very good']
})

接下来定义样式函数,这个函数会逐行处理数据,根据C列的值给A列上色:

def color_A_based_on_C(row):
    # 初始化样式列表,默认所有单元格无特殊样式
    cell_styles = [''] * len(row)
    # 获取当前行C列的状态值
    c_status = row['C']
    # 定位A列在该行的索引位置
    a_col_index = row.index.get_loc('A')
    
    # 根据C列的值设置对应背景色
    if c_status == 'poor':
        cell_styles[a_col_index] = 'background-color: #ff6666'  # 浅红色
    elif c_status == 'good':
        cell_styles[a_col_index] = 'background-color: #ffb366'  # 浅橙色
    elif c_status == 'very good':
        cell_styles[a_col_index] = 'background-color: #66cc66'  # 浅绿色
    
    return cell_styles

最后应用样式并展示/导出:

# 将样式规则应用到DataFrame
styled_table = df.style.apply(color_A_based_on_C, axis=1)

# 如果在Jupyter Notebook环境中,直接运行下面的代码就能看到着色后的表格
styled_table

# 如果要导出成HTML文件保存,执行这行代码:
# styled_table.to_html('colored_dataframe.html')

额外说明

  • 这个方法只会给A列的对应单元格着色,其他列不受影响;
  • 你可以调整background-color后的十六进制颜色码,换成你更喜欢的色调;
  • 如果需要添加更多样式(比如字体颜色、加粗),可以在样式字符串里追加属性,比如'background-color: #ff6666; color: white; font-weight: bold'。

内容的提问来源于stack exchange,提问作者Bapu's Sword

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:39:00