Add expanding moment functions and related tests. #1785
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implement
expanding_
analogues to therolling_
moment functions available inpandas/stats/moments.py
by calling therolling_
function withwindow=len(arg)
andmin_periods
defaulting to the minimum number of data points to compute the statistic (1
for most,4
for kurtosis, etc.). Resolves Issue #849.The only potentially surprising behavior is that some
expanding_
functions differ from their NumPy equivalents in whether they preserveNaN
s. For example,expanding_max(s)
is equivalent torolling_max(s, len(s), min_periods=1)
, but both produce different output froms.cummax()
, as the latter always returnsNaN
for everyNaN
ins
. I don't have a strong opinion on which output is correct, aside from thinkingrolling_
andexpanding_
should agree.