@@ -1938,11 +1938,6 @@ def get_indexer(self, target, method=None, limit=None, tolerance=None):
1938
1938
raise NotImplementedError ("method='nearest' not implemented yet "
1939
1939
'for MultiIndex; see GitHub issue 9365' )
1940
1940
else :
1941
- # we may not compare equally because of hashing if we
1942
- # don't have the same dtypes
1943
- if self ._inferred_type_levels != target ._inferred_type_levels :
1944
- return Index (self .values ).get_indexer (target .values )
1945
-
1946
1941
indexer = self ._engine .get_indexer (target )
1947
1942
1948
1943
return _ensure_platform_int (indexer )
@@ -2179,17 +2174,6 @@ def _maybe_to_slice(loc):
2179
2174
'' .format (keylen , self .nlevels ))
2180
2175
2181
2176
if keylen == self .nlevels and self .is_unique :
2182
-
2183
- def _maybe_str_to_time_stamp (key , lev ):
2184
- if lev .is_all_dates and not isinstance (key , Timestamp ):
2185
- try :
2186
- return Timestamp (key , tz = getattr (lev , 'tz' , None ))
2187
- except Exception :
2188
- pass
2189
- return key
2190
-
2191
- key = _values_from_object (key )
2192
- key = tuple (map (_maybe_str_to_time_stamp , key , self .levels ))
2193
2177
return self ._engine .get_loc (key )
2194
2178
2195
2179
# -- partial selection or non-unique index
@@ -2322,34 +2306,8 @@ def partial_selection(key, indexer=None):
2322
2306
return indexer , maybe_droplevels (indexer , ilevels ,
2323
2307
drop_level )
2324
2308
2325
- if len (key ) == self .nlevels :
2326
-
2327
- if self .is_unique :
2328
-
2329
- # here we have a completely specified key, but are
2330
- # using some partial string matching here
2331
- # GH4758
2332
- all_dates = ((l .is_all_dates and
2333
- not isinstance (k , compat .string_types ))
2334
- for k , l in zip (key , self .levels ))
2335
- can_index_exactly = any (all_dates )
2336
- if (any (l .is_all_dates
2337
- for k , l in zip (key , self .levels )) and
2338
- not can_index_exactly ):
2339
- indexer = self .get_loc (key )
2340
-
2341
- # we have a multiple selection here
2342
- if (not isinstance (indexer , slice ) or
2343
- indexer .stop - indexer .start != 1 ):
2344
- return partial_selection (key , indexer )
2345
-
2346
- key = tuple (self [indexer ].tolist ()[0 ])
2347
-
2348
- return (self ._engine .get_loc (
2349
- _values_from_object (key )), None )
2350
-
2351
- else :
2352
- return partial_selection (key )
2309
+ if len (key ) == self .nlevels and self .is_unique :
2310
+ return (self ._engine .get_loc (key ), None )
2353
2311
else :
2354
2312
return partial_selection (key )
2355
2313
else :
0 commit comments