pandas.io.formats.style.Styler.pipe¶
-
Styler.
pipe
(func, *args, **kwargs)[source]¶ Apply
func(self, *args, **kwargs)
, and return the result.New in version 0.24.0.
- Parameters
- funcfunction
Function to apply to the Styler. Alternatively, a
(callable, keyword)
tuple wherekeyword
is a string indicating the keyword ofcallable
that expects the Styler.- *argsoptional
Arguments passed to func.
- **kwargsoptional
A dictionary of keyword arguments passed into
func
.
- Returns
- object :
The value returned by
func
.
See also
DataFrame.pipe
Analogous method for DataFrame.
Styler.apply
Apply a function row-wise, column-wise, or table-wise to modify the dataframe’s styling.
Notes
Like
DataFrame.pipe()
, this method can simplify the application of several user-defined functions to a styler. Instead of writing:f(g(df.style.set_precision(3), arg1=a), arg2=b, arg3=c)
users can write:
(df.style.set_precision(3) .pipe(g, arg1=a) .pipe(f, arg2=b, arg3=c))
In particular, this allows users to define functions that take a styler object, along with other parameters, and return the styler after making styling changes (such as calling
Styler.apply()
orStyler.set_properties()
). Using.pipe
, these user-defined style “transformations” can be interleaved with calls to the built-in Styler interface.Examples
>>> def format_conversion(styler): ... return (styler.set_properties(**{'text-align': 'right'}) ... .format({'conversion': '{:.1%}'}))
The user-defined
format_conversion
function above can be called within a sequence of other style modifications:>>> df = pd.DataFrame({'trial': list(range(5)), ... 'conversion': [0.75, 0.85, np.nan, 0.7, 0.72]}) >>> (df.style ... .highlight_min(subset=['conversion'], color='yellow') ... .pipe(format_conversion) ... .set_caption("Results with minimum conversion highlighted."))