pandas / 1.4.0 / reference / api / pandas.io.formats.style.styler.apply_index.html /

pandas.io.formats.style.Styler.apply_index

Styler. apply_index ( func, axis=0, level=None, **kwargs ) [source]

Apply a CSS-styling function to the index or column headers, level-wise.

Updates the HTML representation with the result.

New in version 1.4.0.

Parameters
func :function

func should take a Series and return a string array of the same length.

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

The headers over which to apply the function.

level :int, str, list, optional

If index is MultiIndex the level(s) over which to apply the function.

**kwargs :dict

Pass along to func.

Returns
self :Styler

See also

Styler.applymap_index

Apply a CSS-styling function to headers elementwise.

Styler.apply

Apply a CSS-styling function column-wise, row-wise, or table-wise.

Styler.applymap

Apply a CSS-styling function elementwise.

Notes

Each input to func will be the index as a Series, if an Index, or a level of a MultiIndex. The output of func should be an identically sized array of CSS styles as strings, in the format ‘attribute: value; attribute2: value2; …’ or, if nothing is to be applied to that element, an empty string or None.

Examples

Basic usage to conditionally highlight values in the index.

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

Selectively applying to specific levels of MultiIndex columns.

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

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.4.0/reference/api/pandas.io.formats.style.Styler.apply_index.html