Return a new MultiIndex of the values set with the mask. Parameters ---------- mask : array like value : MultiIndex Must either be the same length as self or length one Returns ------- MultiIndex
(self, mask, value: MultiIndex)
| 4421 | return item |
| 4422 | |
| 4423 | def putmask(self, mask, value: MultiIndex) -> MultiIndex: |
| 4424 | """ |
| 4425 | Return a new MultiIndex of the values set with the mask. |
| 4426 | |
| 4427 | Parameters |
| 4428 | ---------- |
| 4429 | mask : array like |
| 4430 | value : MultiIndex |
| 4431 | Must either be the same length as self or length one |
| 4432 | |
| 4433 | Returns |
| 4434 | ------- |
| 4435 | MultiIndex |
| 4436 | """ |
| 4437 | mask, noop = validate_putmask(self, mask) |
| 4438 | if noop: |
| 4439 | return self.copy() |
| 4440 | |
| 4441 | if len(mask) == len(value): |
| 4442 | subset = value[mask].remove_unused_levels() |
| 4443 | else: |
| 4444 | subset = value.remove_unused_levels() |
| 4445 | |
| 4446 | new_levels = [] |
| 4447 | new_codes = [] |
| 4448 | |
| 4449 | for i, (value_level, level, level_codes) in enumerate( |
| 4450 | zip(subset.levels, self.levels, self.codes, strict=True) |
| 4451 | ): |
| 4452 | new_level = level.union(value_level, sort=False) |
| 4453 | value_codes = new_level.get_indexer_for(subset.get_level_values(i)) |
| 4454 | new_code = ensure_int64(level_codes) |
| 4455 | new_code[mask] = value_codes |
| 4456 | new_levels.append(new_level) |
| 4457 | new_codes.append(new_code) |
| 4458 | |
| 4459 | return MultiIndex( |
| 4460 | levels=new_levels, codes=new_codes, names=self.names, verify_integrity=False |
| 4461 | ) |
| 4462 | |
| 4463 | def insert(self, loc: int, item) -> MultiIndex: |
| 4464 | """ |
nothing calls this directly
no test coverage detected