File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -1628,7 +1628,9 @@ def isin(self, values):
1628
1628
isin : Series (boolean dtype)
1629
1629
"""
1630
1630
value_set = set (values )
1631
- return self .map (value_set .__contains__ )
1631
+ result = lib .ismember (self , value_set )
1632
+ # return self.map(value_set.__contains__)
1633
+ return Series (result , self .index , name = self .name )
1632
1634
1633
1635
#-------------------------------------------------------------------------------
1634
1636
# Miscellaneous
Original file line number Diff line number Diff line change @@ -164,6 +164,26 @@ def isAllDates(ndarray[object, ndim=1] arr):
164
164
165
165
return True
166
166
167
+ def ismember (ndarray arr , set values ):
168
+ cdef:
169
+ Py_ssize_t i, n
170
+ flatiter it
171
+ ndarray[uint8_t] result
172
+ object val
173
+
174
+ it = < flatiter> PyArray_IterNew(arr)
175
+ n = len (arr)
176
+ result = np.empty(n, dtype = np.uint8)
177
+ for i from 0 <= i < n:
178
+ val = PyArray_GETITEM(arr, PyArray_ITER_DATA(it))
179
+ if val in values:
180
+ result[i] = 1
181
+ else :
182
+ result[i] = 0
183
+ PyArray_ITER_NEXT(it)
184
+
185
+ return result.view(np.bool_)
186
+
167
187
# ----------------------------------------------------------------------
168
188
# datetime / io related
169
189
You can’t perform that action at this time.
0 commit comments