From cbdd7f6d4bdc5683cf17955b21778bc05f1b9a96 Mon Sep 17 00:00:00 2001 From: Keewis Date: Tue, 26 Nov 2019 21:13:53 +0100 Subject: [PATCH 1/4] add examples for Dataset.quantile --- xarray/core/dataset.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/xarray/core/dataset.py b/xarray/core/dataset.py index fdddde773c1..5b29f551771 100644 --- a/xarray/core/dataset.py +++ b/xarray/core/dataset.py @@ -5116,6 +5116,48 @@ def quantile( See Also -------- numpy.nanpercentile, pandas.Series.quantile, DataArray.quantile + + Examples + -------- + + >>> ds = xr.Dataset( + ... {"a": (("x", "y"), [[0.7, 4.2, 9.4, 1.5], [6.5, 7.3, 2.6, 1.9]])}, + ... coords={"x": [7, 9], "y": [1, 1.5, 2, 2.5]}, + ... ) + + Scalar quantile + >>> ds.quantile(0) # or ds.quantile(0, dim=...) + + Dimensions: () + Coordinates: + quantile float64 0.0 + Data variables: + a float64 0.7 + >>> ds.quantile(0, dim="x") + + Dimensions: (y: 4) + Coordinates: + * y (y) float64 1.0 1.5 2.0 2.5 + quantile float64 0.0 + Data variables: + a (y) float64 0.7 4.2 2.6 1.5 + + Quantile array + >>> ds.quantile([0, 0.5, 1]) + + Dimensions: (quantile: 3) + Coordinates: + * quantile (quantile) float64 0.0 0.5 1.0 + Data variables: + a (quantile) float64 0.7 3.4 9.4 + >>> ds.quantile([0, 0.5, 1], dim="x") + + Dimensions: (quantile: 3, y: 4) + Coordinates: + * y (y) float64 1.0 1.5 2.0 2.5 + * quantile (quantile) float64 0.0 0.5 1.0 + Data variables: + a (quantile, y) float64 0.7 4.2 2.6 1.5 3.6 ... 1.7 6.5 7.3 9.4 1.9 """ if isinstance(dim, str): From 4ca409333798f231406ea1138bbf39da06aba4d7 Mon Sep 17 00:00:00 2001 From: Keewis Date: Tue, 26 Nov 2019 21:18:49 +0100 Subject: [PATCH 2/4] add examples for DataArray.quantile --- xarray/core/dataarray.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/xarray/core/dataarray.py b/xarray/core/dataarray.py index 1b135a350d1..e7d787008d8 100644 --- a/xarray/core/dataarray.py +++ b/xarray/core/dataarray.py @@ -2971,6 +2971,43 @@ def quantile( See Also -------- numpy.nanpercentile, pandas.Series.quantile, Dataset.quantile + + Examples + -------- + + >>> da = xr.DataArray( + ... data=[[0.7, 4.2, 9.4, 1.5], [6.5, 7.3, 2.6, 1.9]], + ... coords={"x": [7, 9], "y": [1, 1.5, 2, 2.5]}, + ... dims=("x", "y"), + ... ) + + Scalar quantile + >>> da.quantile(0) # or da.quantile(0, dim=...) + + array(0.7) + Coordinates: + quantile float64 0.0 + >>> da.quantile(0, dim="x") + + array([0.7, 4.2, 2.6, 1.5]) + Coordinates: + * y (y) float64 1.0 1.5 2.0 2.5 + quantile float64 0.0 + + Quantile array + >>> da.quantile([0, 0.5, 1]) + + array([0.7, 3.4, 9.4]) + Coordinates: + * quantile (quantile) float64 0.0 0.5 1.0 + >>> da.quantile([0, 0.5, 1], dim="x") + + array([[0.7 , 4.2 , 2.6 , 1.5 ], + [3.6 , 5.75, 6. , 1.7 ], + [6.5 , 7.3 , 9.4 , 1.9 ]]) + Coordinates: + * y (y) float64 1.0 1.5 2.0 2.5 + * quantile (quantile) float64 0.0 0.5 1.0 """ ds = self._to_temp_dataset().quantile( From 25a8c3b98648317e72466e547ccc1b725890a539 Mon Sep 17 00:00:00 2001 From: Keewis Date: Wed, 27 Nov 2019 13:31:42 +0100 Subject: [PATCH 3/4] add examples for GroupBy.quantile --- xarray/core/groupby.py | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/xarray/core/groupby.py b/xarray/core/groupby.py index 7e872c74d72..cb8f6538820 100644 --- a/xarray/core/groupby.py +++ b/xarray/core/groupby.py @@ -597,6 +597,59 @@ def quantile(self, q, dim=None, interpolation="linear", keep_attrs=None): -------- numpy.nanpercentile, pandas.Series.quantile, Dataset.quantile, DataArray.quantile + + Examples + -------- + + >>> da = xr.DataArray( + ... [[1.3, 8.4, 0.7, 6.9], [0.7, 4.2, 9.4, 1.5], [6.5, 7.3, 2.6, 1.9]], + ... coords={"x": [0, 0, 1], "y": [1, 1, 2, 2]}, + ... dims=("y", "y"), + ... ) + >>> ds = xr.Dataset({"a": da}) + + Single quantile + >>> da.groupby("x").quantile(0) + + array([[0.7, 4.2, 0.7, 1.5], + [6.5, 7.3, 2.6, 1.9]]) + Coordinates: + quantile float64 0.0 + * y (y) int64 1 1 2 2 + * x (x) int64 0 1 + >>> ds.groupby("y").quantile(0, dim=...) + + Dimensions: (y: 2) + Coordinates: + quantile float64 0.0 + * y (y) int64 1 2 + Data variables: + a (y) float64 0.7 0.7 + + Multiple quantiles + >>> da.groupby("x").quantile([0, 0.5, 1]) + + array([[[0.7 , 1. , 1.3 ], + [4.2 , 6.3 , 8.4 ], + [0.7 , 5.05, 9.4 ], + [1.5 , 4.2 , 6.9 ]], + + [[6.5 , 6.5 , 6.5 ], + [7.3 , 7.3 , 7.3 ], + [2.6 , 2.6 , 2.6 ], + [1.9 , 1.9 , 1.9 ]]]) + Coordinates: + * y (y) int64 1 1 2 2 + * quantile (quantile) float64 0.0 0.5 1.0 + * x (x) int64 0 1 + >>> ds.groupby("y").quantile([0, 0.5, 1], dim=...) + + Dimensions: (quantile: 3, y: 2) + Coordinates: + * quantile (quantile) float64 0.0 0.5 1.0 + * y (y) int64 1 2 + Data variables: + a (y, quantile) float64 0.7 5.35 8.4 0.7 2.25 9.4 """ if dim is None: dim = self._group_dim From e3305e745cd7eef4c31b18617522aefe723c9262 Mon Sep 17 00:00:00 2001 From: Keewis Date: Wed, 27 Nov 2019 13:33:19 +0100 Subject: [PATCH 4/4] rename the example sections --- xarray/core/dataarray.py | 4 ++-- xarray/core/dataset.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/xarray/core/dataarray.py b/xarray/core/dataarray.py index e7d787008d8..64f21b0eb01 100644 --- a/xarray/core/dataarray.py +++ b/xarray/core/dataarray.py @@ -2981,7 +2981,7 @@ def quantile( ... dims=("x", "y"), ... ) - Scalar quantile + Single quantile >>> da.quantile(0) # or da.quantile(0, dim=...) array(0.7) @@ -2994,7 +2994,7 @@ def quantile( * y (y) float64 1.0 1.5 2.0 2.5 quantile float64 0.0 - Quantile array + Multiple quantiles >>> da.quantile([0, 0.5, 1]) array([0.7, 3.4, 9.4]) diff --git a/xarray/core/dataset.py b/xarray/core/dataset.py index 5b29f551771..e40dfa7b0c4 100644 --- a/xarray/core/dataset.py +++ b/xarray/core/dataset.py @@ -5125,7 +5125,7 @@ def quantile( ... coords={"x": [7, 9], "y": [1, 1.5, 2, 2.5]}, ... ) - Scalar quantile + Single quantile >>> ds.quantile(0) # or ds.quantile(0, dim=...) Dimensions: () @@ -5142,7 +5142,7 @@ def quantile( Data variables: a (y) float64 0.7 4.2 2.6 1.5 - Quantile array + Multiple quantiles >>> ds.quantile([0, 0.5, 1]) Dimensions: (quantile: 3)