@@ -193,3 +193,47 @@ def time_categorical_series_is_monotonic_increasing(self):
193
193
194
194
def time_categorical_series_is_monotonic_decreasing (self ):
195
195
self .s .is_monotonic_decreasing
196
+
197
+
198
+ class Contains (object ):
199
+
200
+ params = (["a" , "c" , "d" , "z" , np .nan ], [True , False ])
201
+ param_names = ["value" , "has_nan" ]
202
+
203
+ def setup (self , value , has_nan ):
204
+ n = 1 * 10 ** 4
205
+ obj_values = list ("a" * n + "b" * n + "c" * n )
206
+ if has_nan :
207
+ obj_values = [np .nan ] + obj_values [:- 2 ] + [np .nan ]
208
+
209
+ self .ci = pd .CategoricalIndex (obj_values , categories = list ("abcd" ))
210
+ self .cat = pd .Categorical (obj_values , categories = list ("abcd" ))
211
+
212
+ def time_contains_index (self , value , has_nan ):
213
+ value in self .ci
214
+
215
+ def time_cat_isin (self , value , has_nan ):
216
+ value in self .cat
217
+
218
+
219
+ class Indexing (object ):
220
+
221
+ params = (["a" , "c" ], [True , False ])
222
+ param_names = ["value" , "has_nan" ]
223
+
224
+ def setup (self , value , has_nan ):
225
+ n = 1 * 10 ** 4
226
+ obj_values = list ("a" * n + "b" * n + "c" * n )
227
+ if has_nan :
228
+ obj_values = [np .nan ] + obj_values [:- 2 ] + [np .nan ]
229
+
230
+ self .ci = pd .CategoricalIndex (obj_values , categories = list ("abcd" ))
231
+ self .cat = pd .Categorical (obj_values , categories = list ("abcd" ))
232
+ self .df = pd .DataFrame (dict (A = range (n * 3 )), index = self .ci )
233
+ self .ser = pd .Series (range (n * 3 ), index = self .ci )
234
+
235
+ def time_loc_df (self , value , has_nan ):
236
+ self .df .loc [value ]
237
+
238
+ def time_loc_ser (self , value , has_nan ):
239
+ self .ser .loc [value ]
0 commit comments