(self, key, value)
| 3043 | ) |
| 3044 | |
| 3045 | def __setitem__(self, key, value): |
| 3046 | if isinstance(key, (tuple, list)) and isinstance(value, DataFrame): |
| 3047 | out = self.assign(**{k: value[c] for k, c in zip(key, value.columns)}) |
| 3048 | |
| 3049 | elif isinstance(key, pd.Index) and not isinstance(value, DataFrame): |
| 3050 | out = self.assign(**dict.fromkeys(list(key), value)) |
| 3051 | elif ( |
| 3052 | is_dataframe_like(key) |
| 3053 | or is_series_like(key) |
| 3054 | or isinstance(key, (DataFrame, Series)) |
| 3055 | ): |
| 3056 | out = self.where(~key, value) |
| 3057 | elif not isinstance(key, str): |
| 3058 | raise NotImplementedError(f"Item assignment with {type(key)} not supported") |
| 3059 | else: |
| 3060 | out = self.assign(**{key: value}) |
| 3061 | self._expr = out._expr |
| 3062 | |
| 3063 | def __delitem__(self, key): |
| 3064 | columns = [c for c in self.columns if c != key] |
nothing calls this directly
no test coverage detected