Skip to content

Commit ec1d9f1

Browse files
committed
CLN: remove obsolete special-casing of MI
1 parent 22e8f50 commit ec1d9f1

File tree

1 file changed

+2
-44
lines changed

1 file changed

+2
-44
lines changed

pandas/core/indexes/multi.py

+2-44
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)