# pandas.DataFrame.pipe

`DataFrame.``pipe`(func, *args, **kwargs)

  Apply func(self, *args, **kwargs)

  Parameters:

  func : function

  > function to apply to the NDFrame. `args`, and `kwargs` are passed into `func`. Alternatively a `(callable, data_keyword)` tuple where `data_keyword` is a string indicating the keyword of `callable` that expects the NDFrame.

  args : iterable, optional

  > positional arguments passed into `func`.

  kwargs : mapping, optional

  > a dictionary of keyword arguments passed into `func`.

  Returns: | object : the return type of `func`.

  See also

  `pandas.DataFrame.apply`, `pandas.DataFrame.applymap`, `pandas.Series.map`

  Notes

  Use `.pipe` when chaining together functions that expect Series, DataFrames or GroupBy objects. Instead of writing

      >>> f(g(h(df), arg1=a), arg2=b, arg3=c)

  You can write

      >>> (df.pipe(h)
      ...    .pipe(g, arg1=a)
      ...    .pipe(f, arg2=b, arg3=c)
      ... )

  If you have a function that takes the data as (say) the second argument, pass a tuple indicating which keyword expects the data. For example, suppose `f` takes its data as `arg2`:

      >>> (df.pipe(h)
      ...    .pipe(g, arg1=a)
      ...    .pipe((f, 'arg2'), arg1=a, arg3=c)
      ...  )

Scroll To Top