pandas.core.groupby.GroupBy.pipe
-
GroupBy.pipe(self, func, *args, **kwargs)[source] -
Применить функцию
funcс аргументами к этому объекту GroupBy и вернуть результат функции.Добавлена в версии 0.21.0.
Используйте
.pipeкогда хотите улучшить читаемость, объединяя функции, которые ожидают объекты Series, DataFrame, GroupBy или Resampler. Вместо записи>>> h(g(f(df.groupby('group')), arg1=a), arg2=b, arg3=c)Можно записать
>>> (df.groupby('group') ... .pipe(f) ... .pipe(g, arg1=a) ... .pipe(h, arg2=b, arg3=c))что намного читабельнее.
Параметры: -
func : callable or tuple of (callable, string) -
Функция для применения к этому объекту GroupBy или, альтернативно, кортеж
(callable, data_keyword), гдеdata_keyword— строка, указывающая ключевое слово функцииcallable, которая ожидает объект GroupBy. -
args : iterable, optional -
позиционные аргументы, передаваемые в функцию
func. -
kwargs : dict, optional -
словарь ключевых аргументов, передаваемых в функцию
func.
Возвращает: -
object : the return type of func.
См. также
-
Series.pipe - Применение функции с аргументами к Series.
-
DataFrame.pipe - Применение функции с аргументами к DataFrame.
-
apply - Применение функции к каждой группе вместо всего объекта GroupBy.
Примечания
См. больше здесь
Примеры
>>> 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Чтобы получить разницу между максимальным и минимальным значением в каждой группе за один проход, можно сделать так:
>>> df.groupby('A').pipe(lambda x: x.max() - x.min()) B A a 2 b 2 -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.core.groupby.GroupBy.pipe.html