@@ -27,24 +27,34 @@ def time_constructor(self, data):
27
27
class IsIn (object ):
28
28
29
29
goal_time = 0.2
30
- params = ['int64' , 'object' , 'float64' ]
30
+ params = ['int64' , 'object' ]
31
31
param_names = ['dtype' ]
32
32
33
33
def setup (self , dtype ):
34
34
self .s = Series (np .random .randint (1 , 10 , 100000 )).astype (dtype )
35
35
self .values = [1 , 2 ]
36
- self .small = Series (np .random .randint (1 , 10 , 10 )).astype (dtype )
37
- self .many_different_values = np .arange (10 ** 6 ).astype (dtype )
38
- self .few_different_values = np .zeros (10 ** 6 ).astype (dtype )
39
36
40
37
def time_isin (self , dtypes ):
41
38
self .s .isin (self .values )
42
39
43
- def time_isin_many_different (self , dtypes ):
40
+
41
+ class IsInFloat64 (object ):
42
+
43
+ def setup (self ):
44
+ self .small = Series (np .random .randint (1 , 10 , 10 )).astype (dtype = np .float64 )
45
+ self .many_different_values = np .arange (10 ** 6 , dtype = np .float64 )
46
+ self .few_different_values = np .zeros (10 ** 7 , dtype = np .float64 )
47
+ self .only_nans_values = np .full (10 ** 7 , np .nan , dtype = np .float64 )
48
+
49
+ def time_isin_many_different (self ):
44
50
# runtime is dominated by creation of the lookup-table
45
51
self .small .isin (self .many_different_values )
46
52
47
- def time_isin_few_different (self , dtypes ):
53
+ def time_isin_few_different (self ):
54
+ # runtime is dominated by creation of the lookup-table
55
+ self .small .isin (self .few_different_values )
56
+
57
+ def time_isin_nan_values (self ):
48
58
# runtime is dominated by creation of the lookup-table
49
59
self .small .isin (self .few_different_values )
50
60
0 commit comments