@@ -899,11 +899,45 @@ def skew(self, **kwargs):
899
899
return self ._apply ('roll_skew' , 'skew' ,
900
900
check_minp = _require_min_periods (3 ), ** kwargs )
901
901
902
- _shared_docs ['kurt' ] = """Unbiased %(name)s kurtosis"""
902
+ _shared_docs ['kurt' ] = dedent ( """Calculate unbiased %(name)s kurtosis.
903
903
904
- def kurt (self , ** kwargs ):
904
+ This function uses Fisher's definition of kurtosis (kurtosis of normal
905
+ == 0.0) without bias.
906
+
907
+ Returns
908
+ -------
909
+ same type as input
910
+
911
+ See Also
912
+ --------
913
+ scipy.stats.kurtosis
914
+ pandas.DataFrame.kurtosis
915
+ pandas.Series.kurtosis
916
+
917
+ Notes
918
+ -----
919
+ A minimum of 4 periods is required for the rolling calculation
920
+
921
+ Examples
922
+ --------
923
+ >>> arr = [1, 2, 3, 4, 5]
924
+ >>> import scipy.stats
925
+ >>> scipy.stats.kurtosis(arr, bias=False)
926
+ -1.200000000000000
927
+
928
+ >>> df = pd.DataFrame(arr)
929
+ >>> df.rolling(5).kurt()
930
+ 0
931
+ 0 NaN
932
+ 1 NaN
933
+ 2 NaN
934
+ 3 NaN
935
+ 4 -1.2
936
+ """ )
937
+
938
+ def kurt (self ):
905
939
return self ._apply ('roll_kurt' , 'kurt' ,
906
- check_minp = _require_min_periods (4 ), ** kwargs )
940
+ check_minp = _require_min_periods (4 ))
907
941
908
942
_shared_docs ['quantile' ] = dedent ("""
909
943
%(name)s quantile
@@ -1221,7 +1255,6 @@ def skew(self, **kwargs):
1221
1255
return super (Rolling , self ).skew (** kwargs )
1222
1256
1223
1257
@Substitution (name = 'rolling' )
1224
- @Appender (_doc_template )
1225
1258
@Appender (_shared_docs ['kurt' ])
1226
1259
def kurt (self , ** kwargs ):
1227
1260
return super (Rolling , self ).kurt (** kwargs )
@@ -1461,7 +1494,6 @@ def skew(self, **kwargs):
1461
1494
return super (Expanding , self ).skew (** kwargs )
1462
1495
1463
1496
@Substitution (name = 'expanding' )
1464
- @Appender (_doc_template )
1465
1497
@Appender (_shared_docs ['kurt' ])
1466
1498
def kurt (self , ** kwargs ):
1467
1499
return super (Expanding , self ).kurt (** kwargs )
0 commit comments