pandas.io.formats.style.Styler.where#
- Styler.where(cond, value, other=None, subset=None, **kwargs)[source]#
Apply CSS-styles based on a conditional function elementwise.
Deprecated since version 1.3.0.
Updates the HTML representation with a style which is selected in accordance with the return value of a function.
- Parameters
- condcallable
cond
should take a scalar, and optional keyword arguments, and return a boolean.- valuestr
Applied when
cond
returns true.- otherstr
Applied when
cond
returns false.- subsetlabel, array-like, IndexSlice, optional
A valid 2d input to DataFrame.loc[<subset>], or, in the case of a 1d input or single key, to DataFrame.loc[:, <subset>] where the columns are prioritised, to limit
data
to before applying the function.- **kwargsdict
Pass along to
cond
.
- Returns
- selfStyler
See also
Styler.applymap
Apply a CSS-styling function elementwise.
Styler.apply
Apply a CSS-styling function column-wise, row-wise, or table-wise.
Notes
This method is deprecated.
This method is a convenience wrapper for
Styler.applymap()
, which we recommend using instead.The example:
>>> df = pd.DataFrame([[1, 2], [3, 4]]) >>> def cond(v, limit=4): ... return v > 1 and v != limit >>> df.style.where(cond, value='color:green;', other='color:red;') ...
should be refactored to:
>>> def style_func(v, value, other, limit=4): ... cond = v > 1 and v != limit ... return value if cond else other >>> df.style.applymap(style_func, value='color:green;', other='color:red;') ...