@@ -1991,11 +1991,6 @@ def get_indexer(self, target, method=None, limit=None, tolerance=None):
1991
1991
raise NotImplementedError ("method='nearest' not implemented yet "
1992
1992
'for MultiIndex; see GitHub issue 9365' )
1993
1993
else :
1994
- # we may not compare equally because of hashing if we
1995
- # don't have the same dtypes
1996
- if self ._inferred_type_levels != target ._inferred_type_levels :
1997
- return Index (self .values ).get_indexer (target .values )
1998
-
1999
1994
indexer = self ._engine .get_indexer (target )
2000
1995
2001
1996
return _ensure_platform_int (indexer )
@@ -2227,17 +2222,6 @@ def _maybe_to_slice(loc):
2227
2222
'' .format (keylen , self .nlevels ))
2228
2223
2229
2224
if keylen == self .nlevels and self .is_unique :
2230
-
2231
- def _maybe_str_to_time_stamp (key , lev ):
2232
- if lev .is_all_dates and not isinstance (key , Timestamp ):
2233
- try :
2234
- return Timestamp (key , tz = getattr (lev , 'tz' , None ))
2235
- except Exception :
2236
- pass
2237
- return key
2238
-
2239
- key = _values_from_object (key )
2240
- key = tuple (map (_maybe_str_to_time_stamp , key , self .levels ))
2241
2225
return self ._engine .get_loc (key )
2242
2226
2243
2227
# -- partial selection or non-unique index
@@ -2370,34 +2354,8 @@ def partial_selection(key, indexer=None):
2370
2354
return indexer , maybe_droplevels (indexer , ilevels ,
2371
2355
drop_level )
2372
2356
2373
- if len (key ) == self .nlevels :
2374
-
2375
- if self .is_unique :
2376
-
2377
- # here we have a completely specified key, but are
2378
- # using some partial string matching here
2379
- # GH4758
2380
- all_dates = ((l .is_all_dates and
2381
- not isinstance (k , compat .string_types ))
2382
- for k , l in zip (key , self .levels ))
2383
- can_index_exactly = any (all_dates )
2384
- if (any (l .is_all_dates
2385
- for k , l in zip (key , self .levels )) and
2386
- not can_index_exactly ):
2387
- indexer = self .get_loc (key )
2388
-
2389
- # we have a multiple selection here
2390
- if (not isinstance (indexer , slice ) or
2391
- indexer .stop - indexer .start != 1 ):
2392
- return partial_selection (key , indexer )
2393
-
2394
- key = tuple (self [indexer ].tolist ()[0 ])
2395
-
2396
- return (self ._engine .get_loc (
2397
- _values_from_object (key )), None )
2398
-
2399
- else :
2400
- return partial_selection (key )
2357
+ if len (key ) == self .nlevels and self .is_unique :
2358
+ return (self ._engine .get_loc (key ), None )
2401
2359
else :
2402
2360
return partial_selection (key )
2403
2361
else :
0 commit comments