pandas.io.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.
Parameters: func : function
func
should take a Series or DataFrame (depending onaxis
), and return an object with the same shape. Must return a DataFrame with identical index and column labels whenaxis=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 withaxis=None
subset : IndexSlice
a valid indexer to limit
data
to before applying the function. Consider using a pandas.IndexSlicekwargs : dict
pass along to
func
Returns: - self : Styler
Notes
The output shape of
func
should match the input, i.e. ifx
is the input row, column, or table (depending onaxis
), thenfunc(x.shape) == x.shape
should be true.This is similar to
DataFrame.apply
, except thataxis=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)