@@ -1988,11 +1988,6 @@ def get_indexer(self, target, method=None, limit=None, tolerance=None):
19881988 raise NotImplementedError ("method='nearest' not implemented yet "
19891989 'for MultiIndex; see GitHub issue 9365' )
19901990 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-
19961991 indexer = self ._engine .get_indexer (target )
19971992
19981993 return _ensure_platform_int (indexer )
@@ -2224,17 +2219,6 @@ def _maybe_to_slice(loc):
22242219 '' .format (keylen , self .nlevels ))
22252220
22262221 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 ))
22382222 return self ._engine .get_loc (key )
22392223
22402224 # -- partial selection or non-unique index
@@ -2367,34 +2351,8 @@ def partial_selection(key, indexer=None):
23672351 return indexer , maybe_droplevels (indexer , ilevels ,
23682352 drop_level )
23692353
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 )
23982356 else :
23992357 return partial_selection (key )
24002358 else :
0 commit comments