@@ -78,55 +78,50 @@ def test_mode(self, values, categories, exp_mode):
78
78
exp = Categorical (exp_mode , categories = categories , ordered = True )
79
79
tm .assert_categorical_equal (res , exp )
80
80
81
- def test_searchsorted (self , ordered ):
81
+ def test_searchsorted (self , ordered_fixture ):
82
82
# https://github.com/pandas-dev/pandas/issues/8420
83
83
# https://github.com/pandas-dev/pandas/issues/14522
84
84
85
- c = Categorical (['cheese' , 'milk' , 'apple' , 'bread' , 'bread' ],
86
- categories = ['cheese' , 'milk' , 'apple' , 'bread' ],
87
- ordered = ordered )
88
- s = Series (c )
85
+ cat = Categorical (['cheese' , 'milk' , 'apple' , 'bread' , 'bread' ],
86
+ categories = ['cheese' , 'milk' , 'apple' , 'bread' ],
87
+ ordered = ordered_fixture )
88
+ ser = Series (cat )
89
89
90
90
# Searching for single item argument, side='left' (default)
91
- res_cat = c .searchsorted ('apple' )
91
+ res_cat = cat .searchsorted ('apple' )
92
92
assert res_cat == 2
93
93
assert is_scalar (res_cat )
94
94
95
- res_ser = s .searchsorted ('apple' )
95
+ res_ser = ser .searchsorted ('apple' )
96
96
assert res_ser == 2
97
97
assert is_scalar (res_ser )
98
98
99
- res_cat = c .searchsorted ('apple' )
100
- res_ser = s .searchsorted ('apple' )
101
- assert res_cat == 2
102
- assert res_ser == 2
103
-
104
99
# Searching for single item array, side='left' (default)
105
- res_cat = c .searchsorted (['bread' ])
106
- res_ser = s .searchsorted (['bread' ])
100
+ res_cat = cat .searchsorted (['bread' ])
101
+ res_ser = ser .searchsorted (['bread' ])
107
102
exp = np .array ([3 ], dtype = np .intp )
108
103
tm .assert_numpy_array_equal (res_cat , exp )
109
104
tm .assert_numpy_array_equal (res_ser , exp )
110
105
111
106
# Searching for several items array, side='right'
112
- res_cat = c .searchsorted (['apple' , 'bread' ], side = 'right' )
113
- res_ser = s .searchsorted (['apple' , 'bread' ], side = 'right' )
107
+ res_cat = cat .searchsorted (['apple' , 'bread' ], side = 'right' )
108
+ res_ser = ser .searchsorted (['apple' , 'bread' ], side = 'right' )
114
109
exp = np .array ([3 , 5 ], dtype = np .intp )
115
110
tm .assert_numpy_array_equal (res_cat , exp )
116
111
tm .assert_numpy_array_equal (res_ser , exp )
117
112
118
113
# Searching for a single value that is not from the Categorical
119
114
msg = r"Value\(s\) to be inserted must be in categories"
120
115
with pytest .raises (KeyError , match = msg ):
121
- c .searchsorted ('cucumber' )
116
+ cat .searchsorted ('cucumber' )
122
117
with pytest .raises (KeyError , match = msg ):
123
- s .searchsorted ('cucumber' )
118
+ ser .searchsorted ('cucumber' )
124
119
125
120
# Searching for multiple values one of each is not from the Categorical
126
121
with pytest .raises (KeyError , match = msg ):
127
- c .searchsorted (['bread' , 'cucumber' ])
122
+ cat .searchsorted (['bread' , 'cucumber' ])
128
123
with pytest .raises (KeyError , match = msg ):
129
- s .searchsorted (['bread' , 'cucumber' ])
124
+ ser .searchsorted (['bread' , 'cucumber' ])
130
125
131
126
def test_unique (self ):
132
127
# categories are reordered based on value when ordered=False
0 commit comments