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

Python Pandas:如何高亮巧克力口味对应的数据行?

解决Pandas中用df.style高亮巧克力口味Cookie行的问题

嘿,我来帮你搞定这个高亮巧克力口味行的问题!你之前的代码里只是调用了df.style但没有定义具体的高亮规则,所以才没看到预期的效果。下面是完整的可运行解决方案:

完整代码实现

import pandas as pd

# 读取Excel文件并按销量降序排序
Excel_file = "Cookies2.xlsx"
x = pd.read_excel(Excel_file)
sorted_by_Cookie_Boxes_Sold = x.sort_values(['Cookie_Boxes_Sold'], ascending=False)
df = pd.DataFrame(sorted_by_Cookie_Boxes_Sold)

# 定义高亮巧克力行的函数
def highlight_chocolate_rows(row):
    # 注意:这里的列名要和你DataFrame中的实际列名完全匹配(比如如果列名是"口味"就改成row["口味"])
    if row['Cookie_Flavor'] == '巧克力':
        # 用金色背景高亮,你可以替换成任意喜欢的颜色(比如#ffcccc是浅粉色)
        return ['background-color: #ffd700'] * len(row)
    # 非巧克力口味的行返回空样式
    return [''] * len(row)

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

# 在Jupyter Notebook中直接运行该行即可查看高亮后的表格
styled_table

# 如果需要导出到Excel保存,取消下面一行的注释
# styled_table.to_excel("highlighted_cookies.xlsx", index=False)

关键说明

  • 高亮函数逻辑:highlight_chocolate_rows函数会逐行检查数据,当某行的Cookie口味是"巧克力"时,为整行设置背景色;其他行保持默认样式。
  • axis参数:apply()方法中指定axis=1表示按行应用函数,如果缺省的话会按列处理,这也是你之前可能没成功的原因之一。
  • 列名匹配:一定要确保判断的列名和你的数据完全一致,包括大小写、空格等细节,比如列名是Cookie Flavor(带空格),就要改成row['Cookie Flavor']。

自定义小技巧

  • 你可以替换background-color的十六进制值来改变高亮颜色,比如:
    • 浅红色:#ffcccc
    • 浅绿色:#90ee90
    • 浅蓝色:#add8e6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:22:50