Skip to content

Commit b8be7fd

Browse files
committed
Add back rolling methods for older releases
1 parent 8be7352 commit b8be7fd

File tree

1 file changed

+37
-6
lines changed

1 file changed

+37
-6
lines changed

asv_bench/benchmarks/gil.py

+37-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
import pandas.util.testing as tm
33
from pandas import DataFrame, Series, read_csv, factorize, date_range
44
from pandas.core.algorithms import take_1d
5+
try:
6+
from pandas import (rolling_median, rolling_mean, rolling_min, rolling_max,
7+
rolling_var, rolling_skew, rolling_kurt, rolling_std)
8+
have_rolling_methods = True
9+
except ImportError:
10+
have_rolling_methods = False
511
try:
612
from pandas._libs import algos
713
except ImportError:
@@ -177,12 +183,37 @@ def setup(self, method):
177183
raise NotImplementedError
178184
win = 100
179185
arr = np.random.rand(100000)
180-
df = DataFrame(arr).rolling(win)
181-
182-
@test_parallel(num_threads=2)
183-
def parallel_rolling():
184-
getattr(df, method)()
185-
self.parallel_rolling = parallel_rolling
186+
if hasattr(DataFrame, 'rolling'):
187+
rolling = {'median': 'median',
188+
'mean': 'mean',
189+
'min': 'min',
190+
'max': 'max',
191+
'var': 'var',
192+
'skew': 'skew',
193+
'kurt': 'kurt',
194+
'std': 'std'}
195+
df = DataFrame(arr).rolling(win)
196+
197+
@test_parallel(num_threads=2)
198+
def parallel_rolling():
199+
getattr(df, rolling[method])()
200+
self.parallel_rolling = parallel_rolling
201+
elif have_rolling_methods:
202+
rolling = {'median': rolling_median,
203+
'mean': rolling_mean,
204+
'min': rolling_min,
205+
'max': rolling_max,
206+
'var': rolling_var,
207+
'skew': rolling_skew,
208+
'kurt': rolling_kurt,
209+
'std': rolling_std}
210+
211+
@test_parallel(num_threads=2)
212+
def parallel_rolling():
213+
rolling[method](arr, win)
214+
self.parallel_rolling = parallel_rolling
215+
else:
216+
raise NotImplementedError
186217

187218
def time_rolling(self, method):
188219
self.parallel_rolling()

0 commit comments

Comments
 (0)