MCPcopy Index your code
hub / github.com/pydata/xarray / test_reset_index

Method test_reset_index

xarray/tests/test_dataarray.py:2378–2417  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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})

Callers

nothing calls this directly

Calls 8

reset_indexMethod · 0.95
DataArrayClass · 0.90
assert_identicalFunction · 0.90
assert_equalFunction · 0.90
typeFunction · 0.85
to_base_variableMethod · 0.80
reset_indexMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected