pandas.Series.ewm
- Series.ewm(com=None, span=None, halflife=None, alpha=None, min_periods=0, adjust=True, ignore_na=False, axis=0, times=None, method='single')[source]
-
Предоставление экспоненциальных взвешенных (EW) вычислений.
Должен быть предоставлен ровно один из
com,span,halflife, илиalpha, еслиtimesне предоставлен. Еслиtimesпредоставлен,halflifeи один изcom,spanилиalphaмогут быть предоставлены.- Parameters
-
- com:float, optional
-
Указывает затухание в терминах центра масс
\(\alpha = 1 / (1 + com)\), для \(com \geq 0\).
- span:float, optional
-
Указывает затухание в терминах размаха
\(\alpha = 2 / (span + 1)\), для \(span \geq 1\).
- halflife:float, str, timedelta, optional
-
Указывает затухание в терминах периода полураспада
\(\alpha = 1 - \exp\left(-\ln(2) / halflife\right)\), для \(halflife > 0\).
Если
timesуказан, единица времени, в течение которой наблюдение распадается до половины своего значения. Применимо только кmean(), и значение halflife не будет применяться к другим функциям.New in version 1.1.0.
- alpha:float, optional
-
Непосредственно указывает коэффициент сглаживания \(\alpha\)
\(0 < \alpha \leq 1\).
- min_periods:int, default 0
-
Минимальное количество наблюдений в окне, необходимое для получения значения; в противном случае результат
np.nan. - adjust:bool, default True
-
Деление на коэффициент затухающего корректирования в начальных периодах для учета дисбаланса в относительных весах (восприятие EWMA как скользящей средней).
- ignore_na:bool, default False
-
Игнорирование пропущенных значений при вычислении весов.
- axis:{0, 1}, default 0
-
Если
0или'index', вычисление выполняется по строкам.Если
1или'columns', вычисление выполняется по столбцам.Для Series этот параметр не используется и по умолчанию равен 0.
- times:str, np.ndarray, Series, default None
- method:str {‘single’, ‘table’}, default ‘single’
- Returns
-
-
ExponentialMovingWindowsubclass
-
See also
Notes
См. Операции с окном для получения дополнительных подробностей и примеров.
Examples
>>> df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]}) >>> df B 0 0.0 1 1.0 2 2.0 3 NaN 4 4.0>>> df.ewm(com=0.5).mean() B 0 0.000000 1 0.750000 2 1.615385 3 1.615385 4 3.670213 >>> df.ewm(alpha=2 / 3).mean() B 0 0.000000 1 0.750000 2 1.615385 3 1.615385 4 3.670213adjust
>>> df.ewm(com=0.5, adjust=True).mean() B 0 0.000000 1 0.750000 2 1.615385 3 1.615385 4 3.670213 >>> df.ewm(com=0.5, adjust=False).mean() B 0 0.000000 1 0.666667 2 1.555556 3 1.555556 4 3.650794ignore_na
>>> df.ewm(com=0.5, ignore_na=True).mean() B 0 0.000000 1 0.750000 2 1.615385 3 1.615385 4 3.225000 >>> df.ewm(com=0.5, ignore_na=False).mean() B 0 0.000000 1 0.750000 2 1.615385 3 1.615385 4 3.670213times
Экспоненциально взвешенное среднее со весами, рассчитанными с помощью timedelta
halflifeотносительноtimes.>>> times = ['2020-01-01', '2020-01-03', '2020-01-10', '2020-01-15', '2020-01-17'] >>> df.ewm(halflife='4 days', times=pd.DatetimeIndex(times)).mean() B 0 0.000000 1 0.585786 2 1.523889 3 1.523889 4 3.233686
© 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.Series.ewm.html