(self)
| 5769 | ds.close() |
| 5770 | |
| 5771 | def test_dropna(self) -> None: |
| 5772 | x = np.random.randn(4, 4) |
| 5773 | x[::2, 0] = np.nan |
| 5774 | y = np.random.randn(4) |
| 5775 | y[-1] = np.nan |
| 5776 | ds = Dataset({"foo": (("a", "b"), x), "bar": (("b", y))}) |
| 5777 | |
| 5778 | expected = ds.isel(a=slice(1, None, 2)) |
| 5779 | actual = ds.dropna("a") |
| 5780 | assert_identical(actual, expected) |
| 5781 | |
| 5782 | expected = ds.isel(b=slice(1, 3)) |
| 5783 | actual = ds.dropna("b") |
| 5784 | assert_identical(actual, expected) |
| 5785 | |
| 5786 | actual = ds.dropna("b", subset=["foo", "bar"]) |
| 5787 | assert_identical(actual, expected) |
| 5788 | |
| 5789 | expected = ds.isel(b=slice(1, None)) |
| 5790 | actual = ds.dropna("b", subset=["foo"]) |
| 5791 | assert_identical(actual, expected) |
| 5792 | |
| 5793 | expected = ds.isel(b=slice(3)) |
| 5794 | actual = ds.dropna("b", subset=["bar"]) |
| 5795 | assert_identical(actual, expected) |
| 5796 | |
| 5797 | actual = ds.dropna("a", subset=[]) |
| 5798 | assert_identical(actual, ds) |
| 5799 | |
| 5800 | actual = ds.dropna("a", subset=["bar"]) |
| 5801 | assert_identical(actual, ds) |
| 5802 | |
| 5803 | actual = ds.dropna("a", how="all") |
| 5804 | assert_identical(actual, ds) |
| 5805 | |
| 5806 | actual = ds.dropna("b", how="all", subset=["bar"]) |
| 5807 | expected = ds.isel(b=[0, 1, 2]) |
| 5808 | assert_identical(actual, expected) |
| 5809 | |
| 5810 | actual = ds.dropna("b", thresh=1, subset=["bar"]) |
| 5811 | assert_identical(actual, expected) |
| 5812 | |
| 5813 | actual = ds.dropna("b", thresh=2) |
| 5814 | assert_identical(actual, ds) |
| 5815 | |
| 5816 | actual = ds.dropna("b", thresh=4) |
| 5817 | expected = ds.isel(b=[1, 2, 3]) |
| 5818 | assert_identical(actual, expected) |
| 5819 | |
| 5820 | actual = ds.dropna("a", thresh=3) |
| 5821 | expected = ds.isel(a=[1, 3]) |
| 5822 | assert_identical(actual, ds) |
| 5823 | |
| 5824 | with pytest.raises( |
| 5825 | ValueError, |
| 5826 | match=r"'foo' not found in data dimensions \('a', 'b'\)", |
| 5827 | ): |
| 5828 | ds.dropna("foo") |
nothing calls this directly
no test coverage detected