(self)
| 2345 | assert_identical(other_way_expected, other_way) |
| 2346 | |
| 2347 | def test_set_index(self) -> None: |
| 2348 | indexes = [self.mindex.get_level_values(n) for n in self.mindex.names] # type: ignore[arg-type,unused-ignore] # pandas-stubs varies |
| 2349 | coords = {idx.name: ("x", idx) for idx in indexes} |
| 2350 | array = DataArray(self.mda.values, coords=coords, dims="x") |
| 2351 | expected = self.mda.copy() |
| 2352 | level_3 = ("x", [1, 2, 3, 4]) |
| 2353 | array["level_3"] = level_3 |
| 2354 | expected["level_3"] = level_3 |
| 2355 | |
| 2356 | obj = array.set_index(x=self.mindex.names) |
| 2357 | assert_identical(obj, expected) |
| 2358 | |
| 2359 | obj = obj.set_index(x="level_3", append=True) |
| 2360 | expected = array.set_index(x=["level_1", "level_2", "level_3"]) |
| 2361 | assert_identical(obj, expected) |
| 2362 | |
| 2363 | array = array.set_index(x=["level_1", "level_2", "level_3"]) |
| 2364 | assert_identical(array, expected) |
| 2365 | |
| 2366 | array2d = DataArray( |
| 2367 | np.random.rand(2, 2), |
| 2368 | coords={"x": ("x", [0, 1]), "level": ("y", [1, 2])}, |
| 2369 | dims=("x", "y"), |
| 2370 | ) |
| 2371 | with pytest.raises(ValueError, match=r"dimension mismatch"): |
| 2372 | array2d.set_index(x="level") |
| 2373 | |
| 2374 | # Issue 3176: Ensure clear error message on key error. |
| 2375 | with pytest.raises(ValueError, match=r".*variable\(s\) do not exist"): |
| 2376 | obj.set_index(x="level_4") |
| 2377 | |
| 2378 | def test_reset_index(self) -> None: |
| 2379 | indexes = [self.mindex.get_level_values(n) for n in self.mindex.names] # type: ignore[arg-type,unused-ignore] # pandas-stubs varies |
nothing calls this directly
no test coverage detected