Skip to content

Commit 3b242a1

Browse files
authored
fix {full,zeros,ones}_like overloads (pydata#6630)
1 parent 4da7fdb commit 3b242a1

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

xarray/core/common.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1582,17 +1582,23 @@ def __getitem__(self, value):
15821582

15831583

15841584
@overload
1585-
def full_like(other: DataArray, fill_value: Any, dtype: DTypeLikeSave) -> DataArray:
1585+
def full_like(
1586+
other: DataArray, fill_value: Any, dtype: DTypeLikeSave = None
1587+
) -> DataArray:
15861588
...
15871589

15881590

15891591
@overload
1590-
def full_like(other: Dataset, fill_value: Any, dtype: DTypeMaybeMapping) -> Dataset:
1592+
def full_like(
1593+
other: Dataset, fill_value: Any, dtype: DTypeMaybeMapping = None
1594+
) -> Dataset:
15911595
...
15921596

15931597

15941598
@overload
1595-
def full_like(other: Variable, fill_value: Any, dtype: DTypeLikeSave) -> Variable:
1599+
def full_like(
1600+
other: Variable, fill_value: Any, dtype: DTypeLikeSave = None
1601+
) -> Variable:
15961602
...
15971603

15981604

@@ -1790,17 +1796,17 @@ def _full_like_variable(
17901796

17911797

17921798
@overload
1793-
def zeros_like(other: DataArray, dtype: DTypeLikeSave) -> DataArray:
1799+
def zeros_like(other: DataArray, dtype: DTypeLikeSave = None) -> DataArray:
17941800
...
17951801

17961802

17971803
@overload
1798-
def zeros_like(other: Dataset, dtype: DTypeMaybeMapping) -> Dataset:
1804+
def zeros_like(other: Dataset, dtype: DTypeMaybeMapping = None) -> Dataset:
17991805
...
18001806

18011807

18021808
@overload
1803-
def zeros_like(other: Variable, dtype: DTypeLikeSave) -> Variable:
1809+
def zeros_like(other: Variable, dtype: DTypeLikeSave = None) -> Variable:
18041810
...
18051811

18061812

@@ -1877,17 +1883,17 @@ def zeros_like(
18771883

18781884

18791885
@overload
1880-
def ones_like(other: DataArray, dtype: DTypeLikeSave) -> DataArray:
1886+
def ones_like(other: DataArray, dtype: DTypeLikeSave = None) -> DataArray:
18811887
...
18821888

18831889

18841890
@overload
1885-
def ones_like(other: Dataset, dtype: DTypeMaybeMapping) -> Dataset:
1891+
def ones_like(other: Dataset, dtype: DTypeMaybeMapping = None) -> Dataset:
18861892
...
18871893

18881894

18891895
@overload
1890-
def ones_like(other: Variable, dtype: DTypeLikeSave) -> Variable:
1896+
def ones_like(other: Variable, dtype: DTypeLikeSave = None) -> Variable:
18911897
...
18921898

18931899

xarray/tests/test_dataarray.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3566,7 +3566,7 @@ def test_setattr_raises(self):
35663566
with pytest.raises(AttributeError, match=r"cannot set attr"):
35673567
array.other = 2
35683568

3569-
def test_full_like(self):
3569+
def test_full_like(self) -> None:
35703570
# For more thorough tests, see test_variable.py
35713571
da = DataArray(
35723572
np.random.random(size=(2, 2)),
@@ -3578,12 +3578,12 @@ def test_full_like(self):
35783578

35793579
actual = full_like(da, 2)
35803580
expect = da.copy(deep=True)
3581-
expect.values = [[2.0, 2.0], [2.0, 2.0]]
3581+
expect.values = np.array([[2.0, 2.0], [2.0, 2.0]])
35823582
assert_identical(expect, actual)
35833583

35843584
# override dtype
35853585
actual = full_like(da, fill_value=True, dtype=bool)
3586-
expect.values = [[True, True], [True, True]]
3586+
expect.values = np.array([[True, True], [True, True]])
35873587
assert expect.dtype == bool
35883588
assert_identical(expect, actual)
35893589

0 commit comments

Comments
 (0)