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