pandas.io.formats.style.Styler.apply_index#

Styler.apply_index(func, axis=0, level=None, **kwargs)[源代码][源代码]#

对索引或列标题应用CSS样式函数,按级别进行。

使用结果更新 HTML 表示。

Added in version 1.4.0.

Added in version 2.1.0: Styler.applymap_index 已被弃用并重命名为 Styler.map_index。

参数:
函数函数

func 应该接受一个 Series 并返回一个相同长度的字符串数组。

{0, 1, “index”, “columns”}

要应用该函数的标题。

级别int, str, list, optional

如果索引是 MultiIndex,则应用函数的级别。

**kwargsdict

传递给 func

返回:
Styler

参见

Styler.map_index

对标题元素逐个应用CSS样式函数。

Styler.apply

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

Styler.map

逐元素应用CSS样式函数。

备注

每个输入到 func 的值将是一个 Series 的索引,如果是一个 Index,或者是一个 MultiIndex 的层级。func 的输出应该是一个相同大小的 CSS 样式字符串数组,格式为 ‘attribute: value; attribute2: value2; …’,或者如果不需要对该元素应用任何内容,则为空字符串或 None

示例

基本用法用于有条件地在索引中突出显示值。

>>> df = pd.DataFrame([[1, 2], [3, 4]], index=["A", "B"])
>>> def color_b(label):
...     return np.where(label == "B", "background-color: yellow;", "")
>>> df.style.apply_index(color_b)  
../../_images/appmaphead1.png

选择性地应用于 MultiIndex 列的特定级别。

>>> midx = pd.MultiIndex.from_product([["ix", "jy"], [0, 1], ["x3", "z4"]])
>>> df = pd.DataFrame([np.arange(8)], columns=midx)
>>> def highlight_x(label):
...     return ["background-color: yellow;" if "x" in v else "" for v in label]
>>> df.style.apply_index(
...     highlight_x, axis="columns", level=[0, 2])  
../../_images/appmaphead2.png