pandas.core.resample.Resampler.pipe
-
Resampler.pipe(func, *args, **kwargs)[source] -
Применяет функцию
funcс аргументами к этому объекту Resampler и возвращает результат работы функции.Добавлена в версии 0.23.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 или кортеж (callable, string)
Функция, которая применяется к этому объекту Resampler или, альтернативно,
(callable, data_keyword)кортеж, гдеdata_keyword— строка, обозначающая ключевое словоcallable, которое ожидает объект Resampler.args : итерируемый объект, необязательно
позиционные аргументы, передаваемые в
func.kwargs : словарь, необязательно
словарь ключевых аргументов, передаваемых в
func.Возвращаемое значение: -
object : the return type of func.
См. также
-
pandas.Series.pipe - Применить функцию с аргументами к серии
-
pandas.DataFrame.pipe - Применить функцию с аргументами к датафрейму
-
apply - Применить функцию к каждой группе вместо всего объекта Resampler.
Примечания
См. больше здесь
Примеры
>>> df = pd.DataFrame({'A': [1, 2, 3, 4]}, ... index=pd.date_range('2012-08-02', periods=4)) >>> df A 2012-08-02 1 2012-08-03 2 2012-08-04 3 2012-08-05 4Чтобы получить разницу между максимальным и минимальным значением в каждом двухдневном периоде за один проход, можно сделать следующее
>>> df.resample('2D').pipe(lambda x: x.max() - x.min()) A 2012-08-02 1 2012-08-04 1 -
© 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.23.4/generated/pandas.core.resample.Resampler.pipe.html