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)
选择性地应用于 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])