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

如何使用pd.style.apply多条件设置DataFrame,实现正数加+前缀并标红

Pandas Styler同时实现change列正数加+前缀与红色字体的方案

pandas的Styler对象支持链式调用,数值显示格式和CSS样式是两个独立的配置维度,分别调用对应方法即可同时生效,不会丢失样式。

import pandas as pd
import numpy as np

# 示例数据
my_df = pd.DataFrame({'name': ['John', 'Jorge', 'Igor'], 'rank2020':[2,1,3], 'rank2021':[1,3,2], 'change':[1,-2,1]})

# 链式调用实现两个效果
styled_df = my_df.style.format(
    # 配置change列的显示格式,正数前加+
    formatter={"change": lambda x: f"+{x}" if x > 0 else str(x)}
).apply(
    # 配置change列的字体颜色,正数标红
    lambda x: np.where(x > 0, 'color:red', ''), subset='change'
)

# 直接返回styled_df即可查看最终效果
  • format方法仅修改单元格的显示文本,不会修改原始DataFrame的数值,也不会破坏Styler对象的属性,你可以放心在样式设置前/后调用。
  • 两个方法的调用顺序不影响最终效果,你也可以先调用apply设置颜色,再调用format设置前缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:36:04