@@ -179,10 +179,6 @@ def setup(self):
179
179
self .df_multi = DataFrame (np .random .randn (len (self .index2 ), 4 ), index = self .index2 , columns = ['A' , 'B' , 'C' , 'D' ])
180
180
except :
181
181
pass
182
- try :
183
- self .DataFrame = DataMatrix
184
- except :
185
- pass
186
182
self .df = pd .DataFrame ({'data1' : np .random .randn (100000 ), 'data2' : np .random .randn (100000 ), 'key1' : self .key1 , 'key2' : self .key2 , })
187
183
self .df_key1 = pd .DataFrame (np .random .randn (len (self .level1 ), 4 ), index = self .level1 , columns = ['A' , 'B' , 'C' , 'D' ])
188
184
self .df_key2 = pd .DataFrame (np .random .randn (len (self .level2 ), 4 ), index = self .level2 , columns = ['A' , 'B' , 'C' , 'D' ])
@@ -210,10 +206,6 @@ def setup(self):
210
206
self .df_multi = DataFrame (np .random .randn (len (self .index2 ), 4 ), index = self .index2 , columns = ['A' , 'B' , 'C' , 'D' ])
211
207
except :
212
208
pass
213
- try :
214
- self .DataFrame = DataMatrix
215
- except :
216
- pass
217
209
self .df = pd .DataFrame ({'data1' : np .random .randn (100000 ), 'data2' : np .random .randn (100000 ), 'key1' : self .key1 , 'key2' : self .key2 , })
218
210
self .df_key1 = pd .DataFrame (np .random .randn (len (self .level1 ), 4 ), index = self .level1 , columns = ['A' , 'B' , 'C' , 'D' ])
219
211
self .df_key2 = pd .DataFrame (np .random .randn (len (self .level2 ), 4 ), index = self .level2 , columns = ['A' , 'B' , 'C' , 'D' ])
@@ -241,10 +233,6 @@ def setup(self):
241
233
self .df_multi = DataFrame (np .random .randn (len (self .index2 ), 4 ), index = self .index2 , columns = ['A' , 'B' , 'C' , 'D' ])
242
234
except :
243
235
pass
244
- try :
245
- self .DataFrame = DataMatrix
246
- except :
247
- pass
248
236
self .df = pd .DataFrame ({'data1' : np .random .randn (100000 ), 'data2' : np .random .randn (100000 ), 'key1' : self .key1 , 'key2' : self .key2 , })
249
237
self .df_key1 = pd .DataFrame (np .random .randn (len (self .level1 ), 4 ), index = self .level1 , columns = ['A' , 'B' , 'C' , 'D' ])
250
238
self .df_key2 = pd .DataFrame (np .random .randn (len (self .level2 ), 4 ), index = self .level2 , columns = ['A' , 'B' , 'C' , 'D' ])
@@ -272,10 +260,6 @@ def setup(self):
272
260
self .df_multi = DataFrame (np .random .randn (len (self .index2 ), 4 ), index = self .index2 , columns = ['A' , 'B' , 'C' , 'D' ])
273
261
except :
274
262
pass
275
- try :
276
- self .DataFrame = DataMatrix
277
- except :
278
- pass
279
263
self .df = pd .DataFrame ({'data1' : np .random .randn (100000 ), 'data2' : np .random .randn (100000 ), 'key1' : self .key1 , 'key2' : self .key2 , })
280
264
self .df_key1 = pd .DataFrame (np .random .randn (len (self .level1 ), 4 ), index = self .level1 , columns = ['A' , 'B' , 'C' , 'D' ])
281
265
self .df_key2 = pd .DataFrame (np .random .randn (len (self .level2 ), 4 ), index = self .level2 , columns = ['A' , 'B' , 'C' , 'D' ])
@@ -309,6 +293,43 @@ def time_join_dataframe_integer_key(self):
309
293
merge (self .df , self .df2 , on = 'key1' )
310
294
311
295
296
+ class merge_asof_noby (object ):
297
+
298
+ def setup (self ):
299
+ np .random .seed (0 )
300
+ one_count = 200000
301
+ two_count = 1000000
302
+ self .df1 = pd .DataFrame ({'time' : np .random .randint (0 , one_count / 20 , one_count ),
303
+ 'value1' : np .random .randn (one_count )})
304
+ self .df2 = pd .DataFrame ({'time' : np .random .randint (0 , two_count / 20 , two_count ),
305
+ 'value2' : np .random .randn (two_count )})
306
+ self .df1 = self .df1 .sort_values ('time' )
307
+ self .df2 = self .df2 .sort_values ('time' )
308
+
309
+ def time_merge_asof_noby (self ):
310
+ merge_asof (self .df1 , self .df2 , on = 'time' )
311
+
312
+
313
+ class merge_asof_by (object ):
314
+
315
+ def setup (self ):
316
+ import string
317
+ np .random .seed (0 )
318
+ one_count = 200000
319
+ two_count = 1000000
320
+ self .df1 = pd .DataFrame ({'time' : np .random .randint (0 , one_count / 20 , one_count ),
321
+ 'key' : np .random .choice (list (string .uppercase ), one_count ),
322
+ 'value1' : np .random .randn (one_count )})
323
+ self .df2 = pd .DataFrame ({'time' : np .random .randint (0 , two_count / 20 , two_count ),
324
+ 'key' : np .random .choice (list (string .uppercase ), two_count ),
325
+ 'value2' : np .random .randn (two_count )})
326
+ self .df1 = self .df1 .sort_values ('time' )
327
+ self .df2 = self .df2 .sort_values ('time' )
328
+
329
+ def time_merge_asof_by (self ):
330
+ merge_asof (self .df1 , self .df2 , on = 'time' , by = 'key' )
331
+
332
+
312
333
class join_non_unique_equal (object ):
313
334
goal_time = 0.2
314
335
0 commit comments