From 09c416c8a9a07f7b532b583dbdbaf9563f040524 Mon Sep 17 00:00:00 2001 From: William Ayd Date: Wed, 7 Mar 2018 05:56:16 -0800 Subject: [PATCH] DOC: Updated kurt docstring (for pandas sprint) (#19999) --- pandas/core/window.py | 50 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/pandas/core/window.py b/pandas/core/window.py index 417888ce80b46..cef012bb33e9f 100644 --- a/pandas/core/window.py +++ b/pandas/core/window.py @@ -899,7 +899,53 @@ def skew(self, **kwargs): return self._apply('roll_skew', 'skew', check_minp=_require_min_periods(3), **kwargs) - _shared_docs['kurt'] = """Unbiased %(name)s kurtosis""" + _shared_docs['kurt'] = dedent(""" + Calculate unbiased %(name)s kurtosis. + + This function uses Fisher's definition of kurtosis without bias. + + Parameters + ---------- + kwargs : Under Review + + Returns + ------- + Series or DataFrame (matches input) + Like-indexed object containing the result of function application + + See Also + -------- + pandas.Series.%(name)s + pandas.DataFrame.%(name)s + pandas.Series.kurtosis + pandas.DataFrame.kurtosis + scipy.stats.skew + scipy.stats.kurtosis + + Notes + ----- + A minimum of 4 periods is required for the rolling calculation. + + Examples + -------- + The below example will show a rolling calculation with a window size of + four matching the equivalent function call using `scipy.stats`. + + >>> arr = [1, 2, 3, 4, 999] + >>> import scipy.stats + >>> print("{0:.6f}".format(scipy.stats.kurtosis(arr[:-1], bias=False))) + -1.200000 + >>> print("{0:.6f}".format(scipy.stats.kurtosis(arr[1:], bias=False))) + 3.999946 + >>> df = pd.DataFrame(arr) + >>> df.rolling(4).kurt() + 0 + 0 NaN + 1 NaN + 2 NaN + 3 -1.200000 + 4 3.999946 + """) def kurt(self, **kwargs): return self._apply('roll_kurt', 'kurt', @@ -1221,7 +1267,6 @@ def skew(self, **kwargs): return super(Rolling, self).skew(**kwargs) @Substitution(name='rolling') - @Appender(_doc_template) @Appender(_shared_docs['kurt']) def kurt(self, **kwargs): return super(Rolling, self).kurt(**kwargs) @@ -1461,7 +1506,6 @@ def skew(self, **kwargs): return super(Expanding, self).skew(**kwargs) @Substitution(name='expanding') - @Appender(_doc_template) @Appender(_shared_docs['kurt']) def kurt(self, **kwargs): return super(Expanding, self).kurt(**kwargs)