@@ -93,15 +93,25 @@ def time_isin_long_series_long_values_floats(self):
9393class IsInLongSeries :
9494 params = [
9595 ["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" ],
9798 ]
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 )
102112 self .values = np .arange (MaxNumber ).astype (dtype )
103113
104- def time_isin (self , dtypes , MaxNumber ):
114+ def time_isin (self , dtypes , MaxNumber , series_type ):
105115 self .series .isin (self .values )
106116
107117
0 commit comments