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.

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."))