Comments (2)
Thanks for the report - further investigations and PRs to fix are welcome!
from pandas.
I put up a quick fix, but there's a larger issue with how min_periods
is used with the indexers that choose the windows for rolling operations. Specifically, indexers have a method get_window_bounds
that takes in the min_periods
argument, but none of the implementations use it.
If an indexer ever used min_periods
, it would probably cause the rolling operation to crash. Usually, these operations validate the output of get_window_bounds
and raise if the number of windows returned doesn't match the number of rows in the data.
Since the indexers ignore min_periods
, most rolling methods manually check min_periods
elsewhere. In the case of this bug, min_periods
was checked after applying the function, so the output correctly had two rows of NA, but incorrectly called the function on smaller windows. (I think there's one other case where min_periods
isn't properly applied. I'll check and open a separate bug report if so.)
In my opinion, either indexers shouldn't take in min_periods
at all, or they should respect it and only return window indexes that have at least min_periods
periods.
from pandas.
Related Issues (20)
- BUG: read_sql tries to convert blob/varbinary to string with pyarrow backend HOT 2
- BUG: Pandas squashes 1-dimensional Numpy array with shape (1,) down to a 0-dimensional array HOT 2
- BUG: rolling window with `center=True, min_periods=1` is not symmetric at edges HOT 1
- DOC: Draft PDEPs appear as "Under discussion" in the roadmap
- BUG: Wrong timestamp resolution when parsing timestamp string with comma separated milliseconds HOT 4
- BUILD: HOT 1
- BUG: Series.mul silently returns wrong values with `UInt8` dtype when overflowing the max value range HOT 1
- ENH: Support right hand side operations with Series and custom classes HOT 1
- DOC: New contributor meeting, clarify or remove HOT 5
- BUILD: Pandas 1.5.3 is unusable due to incompatibility with Numpy 2.0.0 HOT 1
- BUG: DatetimeIndex intersection is empty or garbage HOT 4
- BUG: CoW does not seem to work on an index with duplicated labels
- BUG: reset_index() looses the frequency of a DatetimeIndex HOT 3
- ENH: pd.concat with keys and ignore_index=True should raise HOT 1
- BUG: HOT 1
- BUG: Error on to_datetime() after running multiple times in jupyter notebook
- PERF:
- BUG: Error on query function when the column name has # symbol HOT 1
- BUG: Couldn't run sql: 'Connection' object has no attribute 'cursor' HOT 1
- Surprising behavior: set_index cannot set a MultiIndex from a tuple, only a list HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandas.