Spec-Zone.ru › pandas 0.24

pandas.core.resample.Resampler.apply

Resampler.apply(func, *args, **kwargs) [source]

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

Параметры:
func : function, str, list or dict

Функция для агрегирования данных. Если функция, она должна работать, когда ей передается DataFrame, или когда она передается в DataFrame.apply.

Допустимые сочетания:

  • функция
  • имя функции
  • список функций и/или имён функций, например [np.sum, 'mean']
  • словарь меток осей -> функции, имена функций или списки таких.
*args

Позиционные аргументы для передачи в func.

**kwargs

Именованные аргументы для передачи в func.

Возвращаемое значение:
DataFrame, Series или скалярное значение

если DataFrame.agg вызывается с одной функцией, возвращает Series; если DataFrame.agg вызывается с несколькими функциями, возвращает DataFrame; если Series.agg вызывается с одной функцией, возвращает скаляр; если Series.agg вызывается с несколькими функциями, возвращает Series.

См. также

pandas.DataFrame.groupby.aggregate, pandas.DataFrame.resample.transform, pandas.DataFrame.aggregate

Примечания

agg является псевдонимом для aggregate. Используйте псевдоним.

Переданная пользователем функция будет передаваться в Series для оценки.

Примеры

>>> s = pd.Series([1,2,3,4,5],
                  index=pd.date_range('20130101', periods=5,freq='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')
DatetimeIndexResampler [freq=<2 * Seconds>, axis=0, closed=left,
                        label=left, convention=start, base=0]
>>> 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})
                     total    result
2013-01-01 00:00:00      3  2.121320
2013-01-01 00:00:02      7  4.949747
2013-01-01 00:00:04      5       NaN

© 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.24.2/reference/api/pandas.core.resample.Resampler.apply.html

Spec-Zone.ru

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