pandas.io.formats.style.Styler.map_index#

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

逐元素应用 CSS 样式函数到索引或列标题。

使用应用结果更新 HTML 表示。

在 1.4.0 版本加入.

在 2.1.0 版本加入: Styler.applymap_index 已弃用并重命名为 Styler.map_index。

Parameters:
funcfunction

func 应接受一个标量并返回一个字符串。

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

要应用函数的标头。

levelint, str, list, optional

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

**kwargsdict

传递给 func

Returns:
Styler

参见

Styler.apply_index

逐级别地将 CSS 样式函数应用于标头。

Styler.apply

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

Styler.map

逐元素应用 CSS 样式函数。

Notes

传递给 func 的每个输入都是一个索引值,如果它是 Index,则是一个 MultiIndex 的级别值。 func 的输出应该是 CSS 样式字符串,格式为 ‘attribute: value; attribute2: value2; …’,或者,如果不对该元素应用任何样式,则为空字符串或 None

Examples

条件性突出显示索引中值的基本用法。

>>> df = pd.DataFrame([[1,2], [3,4]], index=["A", "B"])
>>> def color_b(s):
...     return "background-color: yellow;" if v == "B" else None
>>> df.style.map_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(v):
...     return "background-color: yellow;" if "x" in v else None
>>> df.style.map_index(highlight_x, axis="columns", level=[0, 2])
...  
../../_images/appmaphead2.png