Spec-Zone.ru › pandas 0.25

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API