pandas.core.resample.Resampler.apply
- Resampler.apply(func=None, *args, **kwargs)[source]
-
Агрегирование с использованием одной или нескольких операций по указанной оси.
- Параметры
-
- func:функция, строка, список или словарь
-
Функция для агрегирования данных. Если функция, она должна работать, когда ей передаётся DataFrame, или когда она передаётся в DataFrame.apply.
Допустимые комбинации:
функция
имя функции в виде строки
список функций и/или имён функций, например
[np.sum, 'mean']словарь меток осей -> функции, имена функций или список таких.
- *args
-
Позиционные аргументы для передачи функции func.
- **kwargs
-
Именованные аргументы для передачи функции func.
- Возвращает
-
- скаляр, Series или DataFrame
-
Возвращаемое значение может быть:
скаляр: когда Series.agg вызывается с одной функцией
Series: когда DataFrame.agg вызывается с одной функцией
DataFrame: когда DataFrame.agg вызывается с несколькими функциями
Возвращает скаляр, Series или DataFrame.
См. также
DataFrame.groupby.aggregate-
Агрегирование с использованием вызываемой функции, строки, словаря или списка строк/вызываемых функций.
DataFrame.resample.transform-
Преобразование Series в каждой группе на основе заданной функции.
DataFrame.aggregate-
Агрегирование с использованием одной или нескольких операций по указанной оси.
Примечания
agg является псевдонимом для aggregate. Используйте псевдоним.
Функции, которые изменяют переданный объект, могут привести к неожиданному поведению или ошибкам и не поддерживаются. Подробности см. в разделе Изменение с помощью пользовательских функций (UDF).
Переданная пользовательская функция будет передавать Series для оценки.
Примеры
>>> s = pd.Series([1, 2, 3, 4, 5], ... index=pd.date_range('20130101', periods=5, freq='s')) >>> s 2013-01-01 00:00:00 1 2013-01-01 00:00:01 2 2013-01-01 00:00:02 3 2013-01-01 00:00:03 4 2013-01-01 00:00:04 5 Freq: S, dtype: int64>>> r = s.resample('2s')>>> r.agg(np.sum) 2013-01-01 00:00:00 3 2013-01-01 00:00:02 7 2013-01-01 00:00:04 5 Freq: 2S, dtype: int64
>>> r.agg(['sum', 'mean', 'max']) sum mean max 2013-01-01 00:00:00 3 1.5 2 2013-01-01 00:00:02 7 3.5 4 2013-01-01 00:00:04 5 5.0 5>>> r.agg({'result': lambda x: x.mean() / x.std(), ... 'total': np.sum}) result total 2013-01-01 00:00:00 2.121320 3 2013-01-01 00:00:02 4.949747 7 2013-01-01 00:00:04 NaN 5>>> r.agg(average="mean", total="sum") average total 2013-01-01 00:00:00 1.5 3 2013-01-01 00:00:02 3.5 7 2013-01-01 00:00:04 5.0 5
© 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.resample.Resampler.apply.html