Skip to content

Commit c316251

Browse files
committed
CLN: remove obsolete special-casing of MI
1 parent 8ca522c commit c316251

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
@@ -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

Comments
 (0)