pandas.core.window.expanding.Expanding.apply#
- Расширяющийся.apply(функция, raw=False, движок=None, engine_kwargs=None, args=None, kwargs=None)[источник]#
Вычисляет расширяющуюся пользовательскую агрегирующую функцию.
- Параметры:
- функцияфункция
Должен производить одно значение из входного ndarray, если
raw=Trueили одиночное значение из Series, еслиraw=False. Также может принимать функцию Numba JIT сengine='numba'указано.- rawbool, по умолчанию False
False: передает каждую строку или столбец как Series в функцию.True: переданная функция будет получать объекты ndarray вместо этого. Если вы просто применяете функцию редукции NumPy, это даст гораздо лучшую производительность.
- движокstr, по умолчанию None
'cython': Запускает rolling apply через C-расширения из cython.'numba': Запускает rolling apply через JIT-скомпилированный код из numba. Доступно только когдаrawустановлено вTrue.None: По умолчанию'cython'или глобальная установкаcompute.use_numba
- engine_kwargsdict, по умолчанию None
Для
'cython'движок, нет принятыхengine_kwargsДля
'numba'движок, движок может приниматьnopython,nogilиparallelключи словаря. Значения должны быть либоTrueилиFalse. По умолчаниюengine_kwargsдля'numba'движок это{'nopython': True, 'nogil': False, 'parallel': False}и будет применено к обоимfuncиapplyскользящая агрегация.
- argsкортеж, по умолчанию None
Позиционные аргументы, передаваемые в функцию.
- kwargsdict, по умолчанию None
Именованные аргументы для передачи в функцию.
- Возвращает:
- Series или DataFrame
Тип возвращаемого значения такой же, как у исходного объекта с
np.float64тип данных.
Смотрите также
pandas.Series.expandingВызов expanding с данными Series.
pandas.DataFrame.expandingВызов expanding с DataFrames.
pandas.Series.applyАгрегирующий apply для Series.
pandas.DataFrame.applyАгрегирующий apply для DataFrame.
Примеры
>>> ser = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']) >>> ser.expanding().apply(lambda s: s.max() - 2 * s.min()) a -1.0 b 0.0 c 1.0 d 2.0 dtype: float64