@@ -93,15 +93,25 @@ def time_isin_long_series_long_values_floats(self):
93
93
class IsInLongSeries :
94
94
params = [
95
95
["int64" , "int32" , "float64" , "float32" , "object" ],
96
- [1 , 2 , 5 , 10 , 1000 , 10 ** 5 ],
96
+ [1 , 2 , 5 , 10 , 50 , 100 , 1000 , 10 ** 5 ],
97
+ ["random_hits" , "random_misses" , "monotone" ],
97
98
]
98
- param_names = ["dtype" , "MaxNumber" ]
99
-
100
- def setup (self , dtype , MaxNumber ):
101
- self .series = Series (np .random .randint (0 , MaxNumber , 10 ** 7 )).astype (dtype )
99
+ param_names = ["dtype" , "MaxNumber" , "series_type" ]
100
+
101
+ def setup (self , dtype , MaxNumber , series_type ):
102
+ N = 10 ** 7
103
+ if series_type == "random_hits" :
104
+ np .random .seed (42 )
105
+ array = np .random .randint (0 , MaxNumber , N )
106
+ if series_type == "random_misses" :
107
+ np .random .seed (42 )
108
+ array = np .random .randint (0 , MaxNumber , N ) + MaxNumber
109
+ if series_type == "monotone" :
110
+ array = np .repeat (np .arange (MaxNumber ), N // MaxNumber )
111
+ self .series = Series (array ).astype (dtype )
102
112
self .values = np .arange (MaxNumber ).astype (dtype )
103
113
104
- def time_isin (self , dtypes , MaxNumber ):
114
+ def time_isin (self , dtypes , MaxNumber , series_type ):
105
115
self .series .isin (self .values )
106
116
107
117
0 commit comments