(self)
| 3694 | arr.to_dataframe() |
| 3695 | |
| 3696 | def test_to_dataframe_multiindex(self) -> None: |
| 3697 | # regression test for #3008 |
| 3698 | arr_np = np.random.randn(4, 3) |
| 3699 | |
| 3700 | mindex = pd.MultiIndex.from_product([[1, 2], list("ab")], names=["A", "B"]) |
| 3701 | |
| 3702 | arr = DataArray(arr_np, [("MI", mindex), ("C", [5, 6, 7])], name="foo") |
| 3703 | |
| 3704 | actual = arr.to_dataframe() |
| 3705 | index_pd = actual.index |
| 3706 | assert isinstance(index_pd, pd.MultiIndex) |
| 3707 | assert_array_equal(np.asarray(actual["foo"].values), arr_np.flatten()) |
| 3708 | assert_array_equal(index_pd.names, list("ABC")) |
| 3709 | assert_array_equal(index_pd.levels[0], [1, 2]) |
| 3710 | assert_array_equal(index_pd.levels[1], ["a", "b"]) |
| 3711 | assert_array_equal(index_pd.levels[2], [5, 6, 7]) |
| 3712 | |
| 3713 | # test converting a dataframe MultiIndexed along a single dimension |
| 3714 | mindex_single = pd.MultiIndex.from_product( |
| 3715 | [list(range(6)), list("ab")], names=["A", "B"] |
| 3716 | ) |
| 3717 | |
| 3718 | arr_multi_single = DataArray( |
| 3719 | arr_np.flatten(), [("MI", mindex_single)], dims="MI", name="test" |
| 3720 | ) |
| 3721 | actual_df = arr_multi_single.to_dataframe() |
| 3722 | expected_df = arr_multi_single.to_series().to_frame() |
| 3723 | assert expected_df.equals(actual_df) |
| 3724 | |
| 3725 | def test_to_dataframe_0length(self) -> None: |
| 3726 | # regression test for #3008 |
nothing calls this directly
no test coverage detected