pandas.formats.style.Styler.apply

Styler.apply(func, axis=0, subset=None, **kwargs)[source]

Apply a function column-wise, row-wise, or table-wase, updating the HTML representation with the result.

New in version 0.17.1.

Parameters:

func : function

func should take a Series or DataFrame (depending on axis), and return an object with the same shape. Must return a DataFrame with identical index and column labels when axis=None

axis : int, str or None

apply to each column (axis=0 or 'index') or to each row (axis=1 or 'columns') or to the entire DataFrame at once with axis=None

subset : IndexSlice

a valid indexer to limit data to before applying the function. Consider using a pandas.IndexSlice

kwargs : dict

pass along to func

Returns:

self : Styler

Notes

The output shape of func should match the input, i.e. if x is the input row, column, or table (depending on axis), then func(x.shape) == x.shape should be true.

This is similar to DataFrame.apply, except that axis=None applies the function to the entire DataFrame at once, rather than column-wise or row-wise.

Examples

>>> def highlight_max(x):
...     return ['background-color: yellow' if v == x.max() else ''
                for v in x]
...
>>> df = pd.DataFrame(np.random.randn(5, 2))
>>> df.style.apply(highlight_max)
Scroll To Top