pandas.core.groupby.GroupBy.pipe#
- GroupBy.pipe(func, *args, **kwargs)[source]#
- Apply a function func with arguments to this GroupBy object and return the function’s result. - Use .pipe when you want to improve readability by chaining together functions that expect Series, DataFrames, GroupBy or Resampler objects. Instead of writing - >>> h(g(f(df.groupby('group')), arg1=a), arg2=b, arg3=c) - You can write - >>> (df.groupby('group') ... .pipe(f) ... .pipe(g, arg1=a) ... .pipe(h, arg2=b, arg3=c)) - which is much more readable. - Parameters
- funccallable or tuple of (callable, str)
- Function to apply to this GroupBy object or, alternatively, a (callable, data_keyword) tuple where data_keyword is a string indicating the keyword of callable that expects the GroupBy object. 
- argsiterable, optional
- Positional arguments passed into func. 
- kwargsdict, optional
- A dictionary of keyword arguments passed into func. 
 
- Returns
- objectthe return type of func.
 
 - See also - Series.pipe
- Apply a function with arguments to a series. 
- DataFrame.pipe
- Apply a function with arguments to a dataframe. 
- apply
- Apply function to each group instead of to the full GroupBy object. 
 - Notes - See more here - Examples - >>> df = pd.DataFrame({'A': 'a b a b'.split(), 'B': [1, 2, 3, 4]}) >>> df A B 0 a 1 1 b 2 2 a 3 3 b 4 - To get the difference between each groups maximum and minimum value in one pass, you can do - >>> df.groupby('A').pipe(lambda x: x.max() - x.min()) B A a 2 b 2