pandas.core.window.expanding.Expanding.apply
- Expanding.apply(func, raw=False, engine=None, engine_kwargs=None, args=None, kwargs=None)[source]
-
Вычисление пользовательской функции агрегирования с расширением.
- Parameters:
-
- func:function
-
Должно возвращать одно значение из входного массива ndarray, если
raw=Trueили одно значение из Series, еслиraw=False. Также может принимать функцию Numba JIT сengine='numba'. - raw:bool, по умолчанию False
-
False: передает каждую строку или столбец в функцию как Series.True: переданная функция будет получать объекты ndarray вместо этого. Если вы просто применяете функцию сокращения NumPy, это позволит значительно улучшить производительность.
- engine:str, по умолчанию None
-
'cython': выполняет rolling apply с помощью C-расширений из cython.'numba': выполняет rolling apply с помощью JIT-компилированного кода из numba. Доступно только приrawустановлено вTrue.None: по умолчанию'cython'или глобально устанавливаетcompute.use_numba.
- engine_kwargs:dict, по умолчанию None
-
Для
'cython'движка допустимыхengine_kwargsнет.Для
'numba'движка, движок может приниматьnopython,nogilиparallelключи словаря. Значения должны быть либоTrue, либоFalse. По умолчаниюengine_kwargsдля'numba'движка{'nopython': True, 'nogil': False, 'parallel': False}и будет применено кfuncиapplyагрегированию.
- args:tuple, по умолчанию None
-
Позиционные аргументы, которые будут переданы в func.
- kwargs:dict, по умолчанию None
-
Ключевые аргументы, которые будут переданы в func.
- Returns:
-
- Series или DataFrame
-
Тип возвращаемого значения совпадает с исходным объектом с
np.float64типом данных.
См. также
pandas.Series.expanding-
Вызов expanding с данными Series.
pandas.DataFrame.expanding-
Вызов expanding с DataFrame.
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
© 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.window.expanding.Expanding.apply.html