Skip to content

Commit a04ba20

Browse files
committed
Add test to ensure that number of bytes of sparse array is correctly
reported
1 parent f934b90 commit a04ba20

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

xarray/tests/test_dataarray.py

+15
Original file line numberDiff line numberDiff line change
@@ -3259,6 +3259,21 @@ def test_from_series_sparse(self) -> None:
32593259
actual_sparse.data = actual_sparse.data.todense()
32603260
assert_identical(actual_sparse, actual_dense)
32613261

3262+
@requires_sparse
3263+
def test_sparse_nbytes(self) -> None:
3264+
# https://github.com/pydata/xarray/issues/4842#issue-793245791
3265+
df = pd.DataFrame()
3266+
df["x"] = np.repeat(np.arange(10), 10)
3267+
df["y"] = np.repeat(np.arange(10), 10)
3268+
df["time"] = np.tile(pd.date_range("2000-01-01", "2000-03-10", freq="W"), 10)
3269+
df["rate"] = 10.0
3270+
df = df.set_index(["time", "y", "x"])
3271+
3272+
sparse_ds = xr.Dataset.from_dataframe(df, sparse=True)
3273+
rate = sparse_ds["rate"]
3274+
assert rate.nbytes < 8000
3275+
assert rate.size * rate.dtype.itemsize == 8000
3276+
32623277
@requires_sparse
32633278
def test_from_multiindex_series_sparse(self) -> None:
32643279
# regression test for GH4019

0 commit comments

Comments
 (0)