pandas.core.groupby.GroupBy.pipe
- GroupBy.pipe(func, *args, **kwargs)[source]
-
Применяет функцию с аргументами к этому объекту GroupBy и возвращает результат.
Используйте .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 или кортеж (callable, str)
-
Функция для применения к этому объекту GroupBy или, альтернативно, кортеж (callable, data_keyword), где data_keyword — строка, указывающая ключевое слово callable, ожидающее объект GroupBy.
- args:итерируемый объект, необязательно
-
Позиционные аргументы, передаваемые в func.
- kwargs:словарь, необязательно
-
Словарь ключевых аргументов, передаваемых в func.
- Возвращает
-
- object:тип возвращаемого значения func.
См. также
Series.pipe-
Применение функции с аргументами к серии.
DataFrame.pipe-
Применение функции с аргументами к датафрейму.
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–2022, 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/1.5.0/reference/api/pandas.core.groupby.GroupBy.pipe.html