Skip to content

Commit d341ac3

Browse files
committed
CLN: remove obsolete special-casing of MI
1 parent 39dad59 commit d341ac3

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
@@ -1938,11 +1938,6 @@ def get_indexer(self, target, method=None, limit=None, tolerance=None):
19381938
raise NotImplementedError("method='nearest' not implemented yet "
19391939
'for MultiIndex; see GitHub issue 9365')
19401940
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-
19461941
indexer = self._engine.get_indexer(target)
19471942

19481943
return _ensure_platform_int(indexer)
@@ -2179,17 +2174,6 @@ def _maybe_to_slice(loc):
21792174
''.format(keylen, self.nlevels))
21802175

21812176
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))
21932177
return self._engine.get_loc(key)
21942178

21952179
# -- partial selection or non-unique index
@@ -2322,34 +2306,8 @@ def partial_selection(key, indexer=None):
23222306
return indexer, maybe_droplevels(indexer, ilevels,
23232307
drop_level)
23242308

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)
23532311
else:
23542312
return partial_selection(key)
23552313
else:

0 commit comments

Comments
 (0)