-
-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Closed
Copy link
Labels
DatetimeDatetime data dtypeDatetime data dtypeError ReportingIncorrect or improved errors from pandasIncorrect or improved errors from pandasWindowrolling, ewma, expandingrolling, ewma, expanding
Milestone
Description
Working on dask/dask#2190 (df.rolling('5s') for dask), and I think these should all be equivalent.
In [26]: import pandas as pd
In [27]: import numpy as np
In [31]: from pandas.tseries.frequencies import to_offset
In [28]: s = pd.Series(range(10), index=pd.date_range('2017', freq='s', periods=10))
>>> s.rolling('2s') # Case 1: correct
>>> s.rolling(window=2000000000, min_periods=1, win_type='freq') # Case 2
>>> s.rolling(window=to_offset('2s'), min_periods=1, win_type='freq') # Case 3
>>> s.rolling(window=pd.Timedelta('2s'), min_periods=1, win_type='freq') # Same as 3
I don't think there are any parsing ambiguities.
Currently we have
# Case 1
In [33]: s.rolling('2s')
Out[33]: Rolling [window=2000000000,min_periods=1,center=False,win_type=freq,axis=0]
# Case 2
In [35]: s.rolling(window=2000000000, min_periods=1, win_type='freq')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-2-a24a29dff0ab> in <module>()
----> 1 s.rolling(window=2000000000, min_periods=1, win_type='freq')
/Users/taugspurger/.virtualenvs/dask-dev/lib/python3.6/site-packages/pandas/core/generic.py in rolling(self, window, min_periods, freq, center, win_type, on, axis)
5502 min_periods=min_periods, freq=freq,
5503 center=center, win_type=win_type,
-> 5504 on=on, axis=axis)
5505
5506 cls.rolling = rolling
/Users/taugspurger/.virtualenvs/dask-dev/lib/python3.6/site-packages/pandas/core/window.py in rolling(obj, win_type, **kwds)
1795
1796 if win_type is not None:
-> 1797 return Window(obj, win_type=win_type, **kwds)
1798
1799 return Rolling(obj, **kwds)
/Users/taugspurger/.virtualenvs/dask-dev/lib/python3.6/site-packages/pandas/core/window.py in __init__(self, obj, window, min_periods, freq, center, win_type, axis, on, **kwargs)
76 self.win_type = win_type
77 self.axis = obj._get_axis_number(axis) if axis is not None else None
---> 78 self.validate()
79
80 @property
/Users/taugspurger/.virtualenvs/dask-dev/lib/python3.6/site-packages/pandas/core/window.py in validate(self)
505 raise ValueError('Invalid win_type {0}'.format(self.win_type))
506 if getattr(sig, self.win_type, None) is None:
--> 507 raise ValueError('Invalid win_type {0}'.format(self.win_type))
508 else:
509 raise ValueError('Invalid window {0}'.format(window))
ValueError: Invalid win_type freq
# Case 3
In [36]: s.rolling(window=to_offset('2s'), min_periods=1, win_type='freq')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-36-93e14a8d05f6> in <module>()
----> 1 s.rolling(window=to_offset('2s'), min_periods=1, win_type='freq')
/Users/taugspurger/Envs/dask-dev/lib/python3.6/site-packages/pandas/core/generic.py in rolling(self, window, min_periods, freq, center, win_type, on, axis)
5502 min_periods=min_periods, freq=freq,
5503 center=center, win_type=win_type,
-> 5504 on=on, axis=axis)
5505
5506 cls.rolling = rolling
/Users/taugspurger/Envs/dask-dev/lib/python3.6/site-packages/pandas/core/window.py in rolling(obj, win_type, **kwds)
1795
1796 if win_type is not None:
-> 1797 return Window(obj, win_type=win_type, **kwds)
1798
1799 return Rolling(obj, **kwds)
/Users/taugspurger/Envs/dask-dev/lib/python3.6/site-packages/pandas/core/window.py in __init__(self, obj, window, min_periods, freq, center, win_type, axis, on, **kwargs)
76 self.win_type = win_type
77 self.axis = obj._get_axis_number(axis) if axis is not None else None
---> 78 self.validate()
79
80 @property
/Users/taugspurger/Envs/dask-dev/lib/python3.6/site-packages/pandas/core/window.py in validate(self)
507 raise ValueError('Invalid win_type {0}'.format(self.win_type))
508 else:
--> 509 raise ValueError('Invalid window {0}'.format(window))
510
511 def _prep_window(self, **kwargs):
ValueError: Invalid window <2 * Seconds>
Metadata
Metadata
Assignees
Labels
DatetimeDatetime data dtypeDatetime data dtypeError ReportingIncorrect or improved errors from pandasIncorrect or improved errors from pandasWindowrolling, ewma, expandingrolling, ewma, expanding