Attempt to drop level or levels from the given index. Parameters ---------- index: Index key : scalar or tuple Returns ------- Index
(index: Index, key)
| 4678 | |
| 4679 | |
| 4680 | def maybe_droplevels(index: Index, key) -> Index: |
| 4681 | """ |
| 4682 | Attempt to drop level or levels from the given index. |
| 4683 | |
| 4684 | Parameters |
| 4685 | ---------- |
| 4686 | index: Index |
| 4687 | key : scalar or tuple |
| 4688 | |
| 4689 | Returns |
| 4690 | ------- |
| 4691 | Index |
| 4692 | """ |
| 4693 | # drop levels |
| 4694 | original_index = index |
| 4695 | if isinstance(key, tuple): |
| 4696 | # Caller is responsible for ensuring the key is not an entry in the first |
| 4697 | # level of the MultiIndex. |
| 4698 | for _ in key: |
| 4699 | try: |
| 4700 | index = index._drop_level_numbers([0]) |
| 4701 | except ValueError: |
| 4702 | # we have dropped too much, so back out |
| 4703 | return original_index |
| 4704 | else: |
| 4705 | try: |
| 4706 | index = index._drop_level_numbers([0]) |
| 4707 | except ValueError: |
| 4708 | pass |
| 4709 | |
| 4710 | return index |
| 4711 | |
| 4712 | |
| 4713 | def _coerce_indexer_frozen(array_like, categories, copy: bool = False) -> np.ndarray: |
no test coverage detected