(method, quantile)
| 1343 | ) |
| 1344 | @pytest.mark.parametrize("quantile", (0.3, 0.5, 0.9)) |
| 1345 | def test_quantile(method, quantile): |
| 1346 | # https://en.wikipedia.org/wiki/Exponential_distribution |
| 1347 | array = da.random.exponential(1, 10_000, chunks=(10_000 // 2)) |
| 1348 | df = dd.from_dask_array(array, columns=["x"]) |
| 1349 | exp = -np.log(1 - quantile) * 1 |
| 1350 | |
| 1351 | # dataframe |
| 1352 | result = df.x.quantile([quantile], method=method) |
| 1353 | assert len(result) == 1 |
| 1354 | assert result.divisions == (quantile, quantile) |
| 1355 | assert isinstance(result, dd.Series) |
| 1356 | result = result.compute() |
| 1357 | assert isinstance(result, pd.Series) |
| 1358 | assert result.iloc[0] == pytest.approx(exp, rel=0.15) |
| 1359 | |
| 1360 | # series / single |
| 1361 | result = df.x.quantile(quantile, method=method) |
| 1362 | assert result.ndim == 0 |
| 1363 | result = result.compute() |
| 1364 | assert result == pytest.approx(exp, rel=0.15) |
| 1365 | |
| 1366 | |
| 1367 | @pytest.mark.parametrize( |
nothing calls this directly
no test coverage detected