@@ -899,11 +899,45 @@ def skew(self, **kwargs):
899899 return self ._apply ('roll_skew' , 'skew' ,
900900 check_minp = _require_min_periods (3 ), ** kwargs )
901901
902- _shared_docs ['kurt' ] = """Unbiased %(name)s kurtosis"""
902+ _shared_docs ['kurt' ] = dedent ( """Calculate unbiased %(name)s kurtosis.
903903
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 ):
905939 return self ._apply ('roll_kurt' , 'kurt' ,
906- check_minp = _require_min_periods (4 ), ** kwargs )
940+ check_minp = _require_min_periods (4 ))
907941
908942 _shared_docs ['quantile' ] = dedent ("""
909943 %(name)s quantile
@@ -1221,7 +1255,6 @@ def skew(self, **kwargs):
12211255 return super (Rolling , self ).skew (** kwargs )
12221256
12231257 @Substitution (name = 'rolling' )
1224- @Appender (_doc_template )
12251258 @Appender (_shared_docs ['kurt' ])
12261259 def kurt (self , ** kwargs ):
12271260 return super (Rolling , self ).kurt (** kwargs )
@@ -1461,7 +1494,6 @@ def skew(self, **kwargs):
14611494 return super (Expanding , self ).skew (** kwargs )
14621495
14631496 @Substitution (name = 'expanding' )
1464- @Appender (_doc_template )
14651497 @Appender (_shared_docs ['kurt' ])
14661498 def kurt (self , ** kwargs ):
14671499 return super (Expanding , self ).kurt (** kwargs )
0 commit comments