Skip to content

Commit 4cd6464

Browse files
committed
Refactor asv tests for Series.asof. Add asv tests for DataFrame.asof
1 parent a05d3cc commit 4cd6464

File tree

1 file changed

+29
-31
lines changed

1 file changed

+29
-31
lines changed

asv_bench/benchmarks/timeseries.py

+29-31
Original file line numberDiff line numberDiff line change
@@ -284,56 +284,54 @@ class timeseries_asof(object):
284284
goal_time = 0.2
285285

286286
def setup(self):
287-
self.N = 100000
288-
self.rng = date_range(start='1/1/2000', periods=self.N, freq='T')
289-
if hasattr(Series, 'convert'):
290-
Series.resample = Series.convert
291-
self.ts = Series(np.random.randn(self.N), index=self.rng)
292287
self.N = 10000
293288
self.rng = date_range(start='1/1/1990', periods=self.N, freq='53s')
294-
self.ts = Series(np.random.randn(self.N), index=self.rng)
295289
self.dates = date_range(start='1/1/1990', periods=(self.N * 10), freq='5s')
290+
self.ts = Series(np.random.randn(self.N), index=self.rng)
291+
self.ts2 = self.ts.copy()
292+
self.ts2[250:5000] = np.nan
293+
self.ts3 = self.ts.copy()
294+
self.ts3[-5000:] = np.nan
296295

297-
def time_timeseries_asof(self):
296+
def time_asof_list(self):
298297
self.ts.asof(self.dates)
299298

299+
def time_asof_single(self):
300+
self.ts.asof(self.dates[0])
300301

301-
class timeseries_asof_nan(object):
302-
goal_time = 0.2
302+
def time_asof_nan_list(self):
303+
self.ts2.asof(self.dates)
303304

304-
def setup(self):
305-
self.N = 100000
306-
self.rng = date_range(start='1/1/2000', periods=self.N, freq='T')
307-
if hasattr(Series, 'convert'):
308-
Series.resample = Series.convert
309-
self.ts = Series(np.random.randn(self.N), index=self.rng)
310-
self.N = 10000
311-
self.rng = date_range(start='1/1/1990', periods=self.N, freq='53s')
312-
self.ts = Series(np.random.randn(self.N), index=self.rng)
313-
self.dates = date_range(start='1/1/1990', periods=(self.N * 10), freq='5s')
314-
self.ts[250:5000] = np.nan
315-
316-
def time_timeseries_asof_nan(self):
317-
self.ts.asof(self.dates)
305+
def time_asof_nan_single(self):
306+
self.ts3.asof(self.dates[-1])
318307

319308

320-
class timeseries_asof_single(object):
309+
class timeseries_dataframe_asof(object):
321310
goal_time = 0.2
322311

323312
def setup(self):
324-
self.N = 100000
325-
self.rng = date_range(start='1/1/2000', periods=self.N, freq='T')
326-
if hasattr(Series, 'convert'):
327-
Series.resample = Series.convert
328-
self.ts = Series(np.random.randn(self.N), index=self.rng)
329313
self.N = 10000
314+
self.M = 100
330315
self.rng = date_range(start='1/1/1990', periods=self.N, freq='53s')
331-
self.ts = Series(np.random.randn(self.N), index=self.rng)
332316
self.dates = date_range(start='1/1/1990', periods=(self.N * 10), freq='5s')
317+
self.ts = DataFrame(np.random.randn(self.N * self.M).reshape((self.N, self.M)), index=self.rng)
318+
self.ts2 = self.ts.copy()
319+
self.ts2.iloc[250:5000] = np.nan
320+
self.ts3 = self.ts.copy()
321+
self.ts3.iloc[-5000:] = np.nan
333322

334-
def time_timeseries_asof_single(self):
323+
def time_asof_list(self):
324+
self.ts.asof(self.dates)
325+
326+
def time_asof_single(self):
335327
self.ts.asof(self.dates[0])
336328

329+
def time_asof_nan_list(self):
330+
self.ts2.asof(self.dates)
331+
332+
def time_asof_nan_single(self):
333+
self.ts3.asof(self.dates[-1])
334+
337335

338336
class timeseries_custom_bday_apply(object):
339337
goal_time = 0.2

0 commit comments

Comments
 (0)