Skip to content

Commit 31c6e62

Browse files
amanbagrechadcheriankeewis
authored
Add cross-links to API docstring from tutorial and user-guide (#8311)
* add docs from tutorial and user-guide * Apply suggestions from code review * [skip-ci] Apply suggestions from code review * add links for groupby and weighted * use label directive * external links added * add index tutorial to api --------- Co-authored-by: Deepak Cherian <[email protected]> Co-authored-by: Justus Magin <[email protected]>
1 parent 477f8cf commit 31c6e62

File tree

5 files changed

+97
-0
lines changed

5 files changed

+97
-0
lines changed

doc/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@
327327
"sparse": ("https://sparse.pydata.org/en/latest/", None),
328328
"cubed": ("https://tom-e-white.com/cubed/", None),
329329
"datatree": ("https://xarray-datatree.readthedocs.io/en/latest/", None),
330+
"xarray-tutorial": ("https://tutorial.xarray.dev/", None),
330331
# "opt_einsum": ("https://dgasmith.github.io/opt_einsum/", None),
331332
}
332333

xarray/core/computation.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,9 +1141,13 @@ def apply_ufunc(
11411141
numba.guvectorize
11421142
dask.array.apply_gufunc
11431143
xarray.map_blocks
1144+
11441145
:ref:`dask.automatic-parallelization`
11451146
User guide describing :py:func:`apply_ufunc` and :py:func:`map_blocks`.
11461147
1148+
:doc:`xarray-tutorial:advanced/apply_ufunc/apply_ufunc`
1149+
Advanced Tutorial on applying numpy function using :py:func:`apply_ufunc`
1150+
11471151
References
11481152
----------
11491153
.. [1] https://numpy.org/doc/stable/reference/ufuncs.html

xarray/core/dataarray.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1431,6 +1431,12 @@ def isel(
14311431
Dataset.isel
14321432
DataArray.sel
14331433
1434+
:doc:`xarray-tutorial:intermediate/indexing/indexing`
1435+
Tutorial material on indexing with Xarray objects
1436+
1437+
:doc:`xarray-tutorial:fundamentals/02.1_indexing_Basic`
1438+
Tutorial material on basics of indexing
1439+
14341440
Examples
14351441
--------
14361442
>>> da = xr.DataArray(np.arange(25).reshape(5, 5), dims=("x", "y"))
@@ -1563,6 +1569,12 @@ def sel(
15631569
Dataset.sel
15641570
DataArray.isel
15651571
1572+
:doc:`xarray-tutorial:intermediate/indexing/indexing`
1573+
Tutorial material on indexing with Xarray objects
1574+
1575+
:doc:`xarray-tutorial:fundamentals/02.1_indexing_Basic`
1576+
Tutorial material on basics of indexing
1577+
15661578
Examples
15671579
--------
15681580
>>> da = xr.DataArray(
@@ -2196,6 +2208,9 @@ def interp(
21962208
scipy.interpolate.interp1d
21972209
scipy.interpolate.interpn
21982210
2211+
:doc:`xarray-tutorial:fundamentals/02.2_manipulating_dimensions`
2212+
Tutorial material on manipulating data resolution using :py:func:`~xarray.DataArray.interp`
2213+
21992214
Examples
22002215
--------
22012216
>>> da = xr.DataArray(
@@ -5461,6 +5476,9 @@ def map_blocks(
54615476
dask.array.map_blocks, xarray.apply_ufunc, xarray.Dataset.map_blocks
54625477
xarray.DataArray.map_blocks
54635478
5479+
:doc:`xarray-tutorial:advanced/map_blocks/map_blocks`
5480+
Advanced Tutorial on map_blocks with dask
5481+
54645482
Examples
54655483
--------
54665484
Calculate an anomaly from climatology using ``.groupby()``. Using
@@ -6676,10 +6694,20 @@ def groupby(
66766694
--------
66776695
:ref:`groupby`
66786696
Users guide explanation of how to group and bin data.
6697+
6698+
:doc:`xarray-tutorial:intermediate/01-high-level-computation-patterns`
6699+
Tutorial on :py:func:`~xarray.DataArray.Groupby` for windowed computation
6700+
6701+
:doc:`xarray-tutorial:fundamentals/03.2_groupby_with_xarray`
6702+
Tutorial on :py:func:`~xarray.DataArray.Groupby` demonstrating reductions, transformation and comparison with :py:func:`~xarray.DataArray.resample`
6703+
66796704
DataArray.groupby_bins
66806705
Dataset.groupby
66816706
core.groupby.DataArrayGroupBy
6707+
DataArray.coarsen
66826708
pandas.DataFrame.groupby
6709+
Dataset.resample
6710+
DataArray.resample
66836711
"""
66846712
from xarray.core.groupby import (
66856713
DataArrayGroupBy,
@@ -6814,6 +6842,13 @@ def weighted(self, weights: DataArray) -> DataArrayWeighted:
68146842
See Also
68156843
--------
68166844
Dataset.weighted
6845+
6846+
:ref:`comput.weighted`
6847+
User guide on weighted array reduction using :py:func:`~xarray.DataArray.weighted`
6848+
6849+
:doc:`xarray-tutorial:fundamentals/03.4_weighted`
6850+
Tutorial on Weighted Reduction using :py:func:`~xarray.DataArray.weighted`
6851+
68176852
"""
68186853
from xarray.core.weighted import DataArrayWeighted
68196854

@@ -6955,6 +6990,16 @@ def coarsen(
69556990
--------
69566991
core.rolling.DataArrayCoarsen
69576992
Dataset.coarsen
6993+
6994+
:ref:`reshape.coarsen`
6995+
User guide describing :py:func:`~xarray.DataArray.coarsen`
6996+
6997+
:ref:`compute.coarsen`
6998+
User guide on block arrgragation :py:func:`~xarray.DataArray.coarsen`
6999+
7000+
:doc:`xarray-tutorial:fundamentals/03.3_windowed`
7001+
Tutorial on windowed computation using :py:func:`~xarray.DataArray.coarsen`
7002+
69587003
"""
69597004
from xarray.core.rolling import DataArrayCoarsen
69607005

xarray/core/dataset.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2902,6 +2902,13 @@ def isel(
29022902
--------
29032903
Dataset.sel
29042904
DataArray.isel
2905+
2906+
:doc:`xarray-tutorial:intermediate/indexing/indexing`
2907+
Tutorial material on indexing with Xarray objects
2908+
2909+
:doc:`xarray-tutorial:fundamentals/02.1_indexing_Basic`
2910+
Tutorial material on basics of indexing
2911+
29052912
"""
29062913
indexers = either_dict_or_kwargs(indexers, indexers_kwargs, "isel")
29072914
if any(is_fancy_indexer(idx) for idx in indexers.values()):
@@ -3049,6 +3056,13 @@ def sel(
30493056
--------
30503057
Dataset.isel
30513058
DataArray.sel
3059+
3060+
:doc:`xarray-tutorial:intermediate/indexing/indexing`
3061+
Tutorial material on indexing with Xarray objects
3062+
3063+
:doc:`xarray-tutorial:fundamentals/02.1_indexing_Basic`
3064+
Tutorial material on basics of indexing
3065+
30523066
"""
30533067
indexers = either_dict_or_kwargs(indexers, indexers_kwargs, "sel")
30543068
query_results = map_index_queries(
@@ -3801,6 +3815,9 @@ def interp(
38013815
scipy.interpolate.interp1d
38023816
scipy.interpolate.interpn
38033817
3818+
:doc:`xarray-tutorial:fundamentals/02.2_manipulating_dimensions`
3819+
Tutorial material on manipulating data resolution using :py:func:`~xarray.Dataset.interp`
3820+
38043821
Examples
38053822
--------
38063823
>>> ds = xr.Dataset(
@@ -8650,6 +8667,10 @@ def map_blocks(
86508667
dask.array.map_blocks, xarray.apply_ufunc, xarray.Dataset.map_blocks
86518668
xarray.DataArray.map_blocks
86528669
8670+
:doc:`xarray-tutorial:advanced/map_blocks/map_blocks`
8671+
Advanced Tutorial on map_blocks with dask
8672+
8673+
86538674
Examples
86548675
--------
86558676
Calculate an anomaly from climatology using ``.groupby()``. Using
@@ -10035,10 +10056,18 @@ def groupby(
1003510056
--------
1003610057
:ref:`groupby`
1003710058
Users guide explanation of how to group and bin data.
10059+
10060+
:doc:`xarray-tutorial:intermediate/01-high-level-computation-patterns`
10061+
Tutorial on :py:func:`~xarray.Dataset.Groupby` for windowed computation.
10062+
10063+
:doc:`xarray-tutorial:fundamentals/03.2_groupby_with_xarray`
10064+
Tutorial on :py:func:`~xarray.Dataset.Groupby` demonstrating reductions, transformation and comparision with :py:func:`~xarray.Dataset.resample`.
10065+
1003810066
Dataset.groupby_bins
1003910067
DataArray.groupby
1004010068
core.groupby.DatasetGroupBy
1004110069
pandas.DataFrame.groupby
10070+
Dataset.coarsen
1004210071
Dataset.resample
1004310072
DataArray.resample
1004410073
"""
@@ -10176,6 +10205,13 @@ def weighted(self, weights: DataArray) -> DatasetWeighted:
1017610205
See Also
1017710206
--------
1017810207
DataArray.weighted
10208+
10209+
:ref:`comput.weighted`
10210+
User guide on weighted array reduction using :py:func:`~xarray.Dataset.weighted`
10211+
10212+
:doc:`xarray-tutorial:fundamentals/03.4_weighted`
10213+
Tutorial on Weighted Reduction using :py:func:`~xarray.Dataset.weighted`
10214+
1017910215
"""
1018010216
from xarray.core.weighted import DatasetWeighted
1018110217

@@ -10252,6 +10288,16 @@ def coarsen(
1025210288
--------
1025310289
core.rolling.DatasetCoarsen
1025410290
DataArray.coarsen
10291+
10292+
:ref:`reshape.coarsen`
10293+
User guide describing :py:func:`~xarray.Dataset.coarsen`
10294+
10295+
:ref:`compute.coarsen`
10296+
User guide on block arrgragation :py:func:`~xarray.Dataset.coarsen`
10297+
10298+
:doc:`xarray-tutorial:fundamentals/03.3_windowed`
10299+
Tutorial on windowed computation using :py:func:`~xarray.Dataset.coarsen`
10300+
1025510301
"""
1025610302
from xarray.core.rolling import DatasetCoarsen
1025710303

xarray/core/rolling.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,7 @@ def __init__(
852852
Returns
853853
-------
854854
coarsen
855+
855856
"""
856857
self.obj = obj
857858
self.windows = windows

0 commit comments

Comments
 (0)