MCPcopy
hub / github.com/pandas-dev/pandas / _get_level_number

Method _get_level_number

pandas/core/indexes/multi.py:1755–1780  ·  view source on GitHub ↗
(self, level)

Source from the content-addressed store, hash-verified

1753 return "mixed"
1754
1755 def _get_level_number(self, level) -> int:
1756 count = self.names.count(level)
1757 if (count > 1) and not is_integer(level):
1758 raise ValueError(
1759 f"The name {level} occurs multiple times, use a level number"
1760 )
1761 try:
1762 level = self.names.index(level)
1763 except ValueError as err:
1764 if not is_integer(level):
1765 raise KeyError(f"Level {level} not found") from err
1766 if level < 0:
1767 level += self.nlevels
1768 if level < 0:
1769 orig_level = level - self.nlevels
1770 raise IndexError(
1771 f"Too many levels: Index has only {self.nlevels} levels, "
1772 f"{orig_level} is not a valid level number"
1773 ) from err
1774 # Note: levels are zero-based
1775 elif level >= self.nlevels:
1776 raise IndexError(
1777 f"Too many levels: Index has only {self.nlevels} levels, "
1778 f"not {level + 1}"
1779 ) from err
1780 return level
1781
1782 @cache_readonly
1783 def is_monotonic_increasing(self) -> bool:

Callers 11

_set_levelsMethod · 0.95
_set_codesMethod · 0.95
_set_namesMethod · 0.95
get_level_valuesMethod · 0.95
uniqueMethod · 0.95
_drop_from_levelMethod · 0.95
swaplevelMethod · 0.95
reorder_levelsMethod · 0.95
sortlevelMethod · 0.95
get_loc_levelMethod · 0.95
isinMethod · 0.95

Calls 2

countMethod · 0.45
indexMethod · 0.45

Tested by

no test coverage detected