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

Method test_fillna

xarray/tests/test_dataset.py:5883–5945  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

5881 assert (dropped["data"].values == srs["data"].values[1:]).all()
5882
5883 def test_fillna(self) -> None:
5884 ds = Dataset({"a": ("x", [np.nan, 1, np.nan, 3])}, {"x": [0, 1, 2, 3]})
5885
5886 # fill with -1
5887 actual1 = ds.fillna(-1)
5888 expected = Dataset({"a": ("x", [-1, 1, -1, 3])}, {"x": [0, 1, 2, 3]})
5889 assert_identical(expected, actual1)
5890
5891 actual2 = ds.fillna({"a": -1})
5892 assert_identical(expected, actual2)
5893
5894 other = Dataset({"a": -1})
5895 actual3 = ds.fillna(other)
5896 assert_identical(expected, actual3)
5897
5898 actual4 = ds.fillna({"a": other.a})
5899 assert_identical(expected, actual4)
5900
5901 # fill with range(4)
5902 b = DataArray(range(4), coords=[("x", range(4))])
5903 actual5 = ds.fillna(b)
5904 expected = b.rename("a").to_dataset()
5905 assert_identical(expected, actual5)
5906
5907 actual6 = ds.fillna(expected)
5908 assert_identical(expected, actual6)
5909
5910 actual7 = ds.fillna(np.arange(4))
5911 assert_identical(expected, actual7)
5912
5913 actual8 = ds.fillna(b[:3])
5914 assert_identical(expected, actual8)
5915
5916 # okay to only include some data variables
5917 ds["b"] = np.nan
5918 actual9 = ds.fillna({"a": -1})
5919 expected = Dataset(
5920 {"a": ("x", [-1, 1, -1, 3]), "b": np.nan}, {"x": [0, 1, 2, 3]}
5921 )
5922 assert_identical(expected, actual9)
5923
5924 # but new data variables is not okay
5925 with pytest.raises(ValueError, match=r"must be contained"):
5926 ds.fillna({"x": 0})
5927
5928 # empty argument should be OK
5929 result1 = ds.fillna({})
5930 assert_identical(ds, result1)
5931
5932 result2 = ds.fillna(Dataset(coords={"c": 42}))
5933 expected = ds.assign_coords(c=42)
5934 assert_identical(expected, result2)
5935
5936 da = DataArray(range(5), name="a", attrs={"attr": "da"})
5937 actual10 = da.fillna(1)
5938 assert actual10.name == "a"
5939 assert actual10.attrs == da.attrs
5940

Callers

nothing calls this directly

Calls 9

fillnaMethod · 0.95
renameMethod · 0.95
fillnaMethod · 0.95
DatasetClass · 0.90
assert_identicalFunction · 0.90
DataArrayClass · 0.90
arangeMethod · 0.80
to_datasetMethod · 0.45
assign_coordsMethod · 0.45

Tested by

no test coverage detected