xarray.corr

xarray.corr

xarray.corr(da_a, da_b, dim=None)[source]

Compute the Pearson correlation coefficient between two DataArray objects along a shared dimension.

Parameters
  • da_a (DataArray) – Array to compute.

  • da_b (DataArray) – Array to compute.

  • dim (str, optional) – The dimension along which the correlation will be computed

Returns

correlation (DataArray)

See also

pandas.Series.corr

corresponding pandas function

xarray.cov

underlying covariance function

Examples

>>> from xarray import DataArray
>>> da_a = DataArray(
...     np.array([[1, 2, 3], [0.1, 0.2, 0.3], [3.2, 0.6, 1.8]]),
...     dims=("space", "time"),
...     coords=[
...         ("space", ["IA", "IL", "IN"]),
...         ("time", pd.date_range("2000-01-01", freq="1D", periods=3)),
...     ],
... )
>>> da_a
<xarray.DataArray (space: 3, time: 3)>
array([[1. , 2. , 3. ],
       [0.1, 0.2, 0.3],
       [3.2, 0.6, 1.8]])
Coordinates:
  * space    (space) <U2 'IA' 'IL' 'IN'
  * time     (time) datetime64[ns] 2000-01-01 2000-01-02 2000-01-03
>>> da_b = DataArray(
...     np.array([[0.2, 0.4, 0.6], [15, 10, 5], [3.2, 0.6, 1.8]]),
...     dims=("space", "time"),
...     coords=[
...         ("space", ["IA", "IL", "IN"]),
...         ("time", pd.date_range("2000-01-01", freq="1D", periods=3)),
...     ],
... )
>>> da_b
<xarray.DataArray (space: 3, time: 3)>
array([[ 0.2,  0.4,  0.6],
       [15. , 10. ,  5. ],
       [ 3.2,  0.6,  1.8]])
Coordinates:
  * space    (space) <U2 'IA' 'IL' 'IN'
  * time     (time) datetime64[ns] 2000-01-01 2000-01-02 2000-01-03
>>> xr.corr(da_a, da_b)
<xarray.DataArray ()>
array(-0.57087777)
>>> xr.corr(da_a, da_b, dim="time")
<xarray.DataArray (space: 3)>
array([ 1., -1.,  1.])
Coordinates:
  * space    (space) <U2 'IA' 'IL' 'IN'