Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions doc/whats-new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,11 @@ Deprecations
:py:attr:`DataTree.lineage` warns once instead of twice (:issue:`11721`,
:pull:`11724`).
By `Daisy DAI <https://github.com/ShinoKana>`_.
- :py:meth:`Dataset.to_array` is deprecated in favor of :py:meth:`Dataset.to_dataarray`
but it did not emit any warning previously, now it emits a ``FutureWarning``
(:issue:`11721`, :pull:`11788`).
By `Soutrik Das <https://github.com/SoutrikDas>`_.



Bug Fixes
Expand Down
4 changes: 4 additions & 0 deletions xarray/core/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -7316,6 +7316,10 @@ def to_array(
self, dim: Hashable = "variable", name: Hashable | None = None
) -> DataArray:
"""Convert this dataset into a DataArray (deprecated, use to_dataarray)."""
emit_user_level_warning(
"Dataset.to_array is deprecated, use Dataset.to_dataarray instead.",
FutureWarning,
)
return self.to_dataarray(dim=dim, name=name)

def _normalize_dim_order(
Expand Down
7 changes: 7 additions & 0 deletions xarray/tests/test_dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -3667,6 +3667,13 @@ def test_swap_dims(self) -> None:
assert isinstance(actual.variables["x"], Variable)
assert actual.xindexes["y"].equals(expected.xindexes["y"])

def test_to_array_deprecated(self) -> None:
ds = Dataset({"a": 1, "b": ("x", [1, 2, 3])}, coords={"c": 42})
expected = ds.to_dataarray("abc", name="foo")
with pytest.warns(FutureWarning, match=r"Dataset\.to_array is deprecated"):
actual = ds.to_array("abc", name="foo")
assert_identical(expected, actual)

def test_expand_dims_error(self) -> None:
original = Dataset(
{
Expand Down
Loading