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

如何按索引高亮Pandas DataFrame行?合并后高亮指定行示例

高亮合并后DataFrame的指定行

首先,先确认你合并后的new_df结构,运行你的代码后得到的结果是:

col1 Col2_x  Col2_y
0    A   home     NaN
1    B    car     NaN
2    C banana  banana
3    D    NaN  garden
4    F    NaN    boat

你需要高亮的是第三行(也就是index为2的行,对应col1=C的那一行)。下面是用Pandas Styler实现的完整方案:


完整代码实现

import pandas as pd

# 你的原始数据和合并代码
d1 = {"col1" : ['A', 'B', 'C'], "Col2": ["home", "car","banana" ]}
d2 = {"col1" : ['D', 'F','C'], "Col2": ["garden", "boat","banana" ]}
df1 = pd.DataFrame(data=d1)
df2 = pd.DataFrame(data=d2)
new_df = pd.merge(df1, df2, on ='col1', how='outer')

# 定义高亮函数:给指定行添加背景色
def highlight_row(row):
    # 判断是否是第三行(index=2,Python索引从0开始)
    if row.name == 2:
        return ['background-color: yellow'] * len(row)
    else:
        return [''] * len(row)

# 应用样式并渲染
styled_df = new_df.style.apply(highlight_row, axis=1)

# 如果是在Jupyter环境中,直接显示styled_df即可
styled_df

代码解释

  • highlight_row函数接收每一行数据,通过row.name获取行的index,判断是否是你需要的第三行(index=2)。
  • 如果是目标行,返回一个和行长度一致的样式列表,这里用yellow背景色高亮,你可以换成其他颜色比如lightgreen。
  • 用style.apply方法,指定axis=1来逐行应用这个样式函数。
  • 在Jupyter Notebook/ Lab中,直接输出styled_df就能看到高亮后的表格;如果需要导出为HTML文件,可以用styled_df.to_html('highlighted_table.html')。

这样就能完美高亮你需要的那一行啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:44:50