@@ -1991,11 +1991,6 @@ def get_indexer(self, target, method=None, limit=None, tolerance=None):
19911991 raise NotImplementedError ("method='nearest' not implemented yet "
19921992 'for MultiIndex; see GitHub issue 9365' )
19931993 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-
19991994 indexer = self ._engine .get_indexer (target )
20001995
20011996 return _ensure_platform_int (indexer )
@@ -2227,17 +2222,6 @@ def _maybe_to_slice(loc):
22272222 '' .format (keylen , self .nlevels ))
22282223
22292224 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 ))
22412225 return self ._engine .get_loc (key )
22422226
22432227 # -- partial selection or non-unique index
@@ -2370,34 +2354,8 @@ def partial_selection(key, indexer=None):
23702354 return indexer , maybe_droplevels (indexer , ilevels ,
23712355 drop_level )
23722356
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 )
24012359 else :
24022360 return partial_selection (key )
24032361 else :
0 commit comments