(self)
| 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 |
| 2380 | coords = {idx.name: ("x", idx) for idx in indexes} |
| 2381 | expected = DataArray(self.mda.values, coords=coords, dims="x") |
| 2382 | |
| 2383 | obj = self.mda.reset_index("x") |
| 2384 | assert_identical(obj, expected, check_default_indexes=False) |
| 2385 | assert len(obj.xindexes) == 0 |
| 2386 | obj = self.mda.reset_index(self.mindex.names) |
| 2387 | assert_identical(obj, expected, check_default_indexes=False) |
| 2388 | assert len(obj.xindexes) == 0 |
| 2389 | obj = self.mda.reset_index(["x", "level_1"]) |
| 2390 | assert_identical(obj, expected, check_default_indexes=False) |
| 2391 | assert len(obj.xindexes) == 0 |
| 2392 | |
| 2393 | coords = { |
| 2394 | "x": ("x", self.mindex.droplevel("level_1")), |
| 2395 | "level_1": ("x", self.mindex.get_level_values("level_1")), |
| 2396 | } |
| 2397 | expected = DataArray(self.mda.values, coords=coords, dims="x") |
| 2398 | obj = self.mda.reset_index(["level_1"]) |
| 2399 | assert_identical(obj, expected, check_default_indexes=False) |
| 2400 | assert list(obj.xindexes) == ["x"] |
| 2401 | assert type(obj.xindexes["x"]) is PandasIndex |
| 2402 | |
| 2403 | expected = DataArray(self.mda.values, dims="x") |
| 2404 | obj = self.mda.reset_index("x", drop=True) |
| 2405 | assert_identical(obj, expected, check_default_indexes=False) |
| 2406 | |
| 2407 | array = self.mda.copy() |
| 2408 | array = array.reset_index(["x"], drop=True) |
| 2409 | assert_identical(array, expected, check_default_indexes=False) |
| 2410 | |
| 2411 | # single index |
| 2412 | array = DataArray([1, 2], coords={"x": ["a", "b"]}, dims="x") |
| 2413 | obj = array.reset_index("x") |
| 2414 | print(obj.x.variable) |
| 2415 | print(array.x.variable) |
| 2416 | assert_equal(obj.x.variable, array.x.variable.to_base_variable()) |
| 2417 | assert len(obj.xindexes) == 0 |
| 2418 | |
| 2419 | def test_reset_index_keep_attrs(self) -> None: |
| 2420 | coord_1 = DataArray([1, 2], dims=["coord_1"], attrs={"attrs": True}) |
nothing calls this directly
no test coverage detected