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

Styler.map_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函数

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

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

要应用该函数的标题。

级别int, str, list, optional

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

**kwargsdict

传递给 func

返回:
Styler

参见

Styler.apply_index

按级别对标题应用CSS样式函数。

Styler.apply

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

Styler.map

逐元素应用CSS样式函数。

备注

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

例子

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

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