pandas.io.formats.style.Styler.pipe — pandas 0.24.0rc1 documentation (original) (raw)
Styler.
pipe
(func, *args, **kwargs)[source]¶
Apply func(self, *args, **kwargs)
, and return the result.
New in version 0.24.0.
Parameters: | func : function Function to apply to the Styler. Alternatively, a(callable, keyword) tuple where keyword is a string indicating the keyword of callable that expects the Styler. *args, **kwargs : Arguments passed to func. |
---|---|
Returns: | object : The value returned by func. |
See also
DataFrame.pipe
Analogous method for DataFrame.
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."))