Spec-Zone.ru › pandas 2

pandas.core.resample.Resampler.aggregate

finalResampler.aggregate(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 вызывается с несколькими функциями

См. также

DataFrame.groupby.aggregate

Агрегирование с использованием вызываемой функции, строки, словаря или списка строк/вызываемых функций.

DataFrame.resample.transform

Преобразование Series в каждой группе на основе заданной функции.

DataFrame.aggregate

Агрегирование с использованием одной или нескольких операций над указанной осью.

Примечания

Операции агрегирования всегда выполняются над осью, либо индексом (по умолчанию), либо осью столбцов. Это поведение отличается от функций агрегирования numpy (mean, median, prod, sum, std, var), где по умолчанию вычисляется агрегирование уплощенного массива, например, numpy.mean(arr_2d) по сравнению с numpy.mean(arr_2d, axis=0).

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("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': "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/2.2.2/reference/api/pandas.core.resample.Resampler.aggregate.html

Spec-Zone.ru

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