@@ -3824,15 +3824,79 @@ def expanding(self, *args, **kwargs) -> ExpandingGroupby:
3824
3824
)
3825
3825
3826
3826
@final
3827
- @Substitution (name = "groupby" )
3828
- @Appender (_common_see_also )
3829
3827
def ewm (self , * args , ** kwargs ) -> ExponentialMovingWindowGroupby :
3830
3828
"""
3831
3829
Return an ewm grouper, providing ewm functionality per group.
3832
3830
3831
+ Parameters
3832
+ ----------
3833
+ *args : tuple
3834
+ Positional arguments passed to the EWM window constructor.
3835
+ **kwargs : dict
3836
+ Keyword arguments passed to the EWM window constructor, such as:
3837
+
3838
+ com : float, optional
3839
+ Specify decay in terms of center of mass.
3840
+ ``span``, ``halflife``, and ``alpha`` are alternative ways to specify
3841
+ decay.
3842
+ span : float, optional
3843
+ Specify decay in terms of span.
3844
+ halflife : float, optional
3845
+ Specify decay in terms of half-life.
3846
+ alpha : float, optional
3847
+ Specify smoothing factor directly.
3848
+ min_periods : int, default 0
3849
+ Minimum number of observations in the window required to have a value;
3850
+ otherwise, result is ``np.nan``.
3851
+ adjust : bool, default True
3852
+ Divide by decaying adjustment factor to account for imbalance in
3853
+ relative weights.
3854
+ ignore_na : bool, default False
3855
+ Ignore missing values when calculating weights.
3856
+ times : str or array-like of datetime64, optional
3857
+ Times corresponding to the observations.
3858
+ axis : {0 or 'index', 1 or 'columns'}, default 0
3859
+ Axis along which the EWM function is applied.
3860
+
3833
3861
Returns
3834
3862
-------
3835
3863
pandas.api.typing.ExponentialMovingWindowGroupby
3864
+ An object that supports exponentially weighted moving transformations over
3865
+ each group.
3866
+
3867
+ See Also
3868
+ --------
3869
+ Series.ewm : EWM transformations for Series.
3870
+ DataFrame.ewm : EWM transformations for DataFrames.
3871
+ Series.groupby : Apply a function groupby to a Series.
3872
+ DataFrame.groupby : Apply a function groupby.
3873
+
3874
+ Examples
3875
+ --------
3876
+ >>> df = pd.DataFrame(
3877
+ ... {
3878
+ ... "Class": ["A", "A", "A", "B", "B", "B"],
3879
+ ... "Value": [10, 20, 30, 40, 50, 60],
3880
+ ... }
3881
+ ... )
3882
+ >>> df
3883
+ Class Value
3884
+ 0 A 10
3885
+ 1 A 20
3886
+ 2 A 30
3887
+ 3 B 40
3888
+ 4 B 50
3889
+ 5 B 60
3890
+
3891
+ >>> df.groupby("Class").ewm(com=0.5).mean()
3892
+ Value
3893
+ Class
3894
+ A 0 10.000000
3895
+ 1 17.500000
3896
+ 2 26.153846
3897
+ B 3 40.000000
3898
+ 4 47.500000
3899
+ 5 56.153846
3836
3900
"""
3837
3901
from pandas .core .window import ExponentialMovingWindowGroupby
3838
3902
0 commit comments