pandas.io.formats.style.Styler.apply #

造型器。apply ( func , axis = 0 , subset = None , ** kwargs ) [来源] #

按列、按行或按表应用 CSS 样式函数。

用结果更新 HTML 表示。

参数
函数函数

func如果在 [0,1] 中,则应采用一个 Seriesaxis并返回一个相同长度的类似列表的对象,或者一个序列,不一定具有相同的长度,并考虑有效的索引标签subset。 如果是,func则应采用 DataFrame并返回具有相同形状的 ndarray 或 DataFrame,不一定具有相同的形状,并考虑有效的索引和列标签。axisNonesubset

在 1.3.0 版本中进行了更改。

在 1.4.0 版本中进行了更改。

{0 或 'index', 1 或 'columns', None}, 默认 0

使用一次应用于每列(axis=0'index')、每行(axis=1或)或整个 DataFrame 。'columns'axis=None

子集标签,类似数组,IndexSlice,可选

DataFrame.loc[<subset>]的有效 2d 输入,或者,如果是 1d 输入或单个键,则为DataFrame.loc[:, <subset>],其中列优先,以限制data在应用之前功能。

**夸格斯字典

传递到func.

返回
造型器

也可以看看

Styler.map_index

将 CSS 样式函数应用于标题元素。

Styler.apply_index

将 CSS 样式函数逐级应用于标题。

Styler.map

按元素应用 CSS 样式函数。

笔记

输出的元素func应该是 CSS 样式作为字符串,格式为 'attribute: value;属性2:值2; ...' 或者,如果没有任何内容应用于该元素,则为空字符串或None.

这与 类似DataFrame.apply,不同之处在于axis=None 该函数立即应用于整个 DataFrame,而不是逐列或逐行。

例子

>>> def highlight_max(x, color):
...     return np.where(x == np.nanmax(x.to_numpy()), f"color: {color};", None)
>>> df = pd.DataFrame(np.random.randn(5, 2), columns=["A", "B"])
>>> df.style.apply(highlight_max, color='red')  
>>> df.style.apply(highlight_max, color='blue', axis=1)  
>>> df.style.apply(highlight_max, color='green', axis=None)  

用于subset将应用程序限制为单列或多列

>>> df.style.apply(highlight_max, color='red', subset="A")
... 
>>> df.style.apply(highlight_max, color='red', subset=["A", "B"])
... 

使用 2d 输入来subset选择行和列

>>> df.style.apply(highlight_max, color='red', subset=([0, 1, 2], slice(None)))
... 
>>> df.style.apply(highlight_max, color='red', subset=(slice(0, 5, 2), "A"))
... 

使用返回长度不等但包含有效索引标签的 Series / DataFrame 的函数

>>> df = pd.DataFrame([[1, 2], [3, 4], [4, 6]], index=["A1", "A2", "Total"])
>>> total_style = pd.Series("font-weight: bold;", index=["Total"])
>>> df.style.apply(lambda s: total_style)  

有关更多详细信息,请参阅表格可视化用户指南。