xarray.corr#

xarray.corr(da_a, da_b, dim=None, weights=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, iterable of hashable, "..." or None, optional) – The dimension along which the correlation will be computed

  • weights (DataArray, optional) – Array of weights.

Returns:

correlation (DataArray)

See also

pandas.Series.corr

corresponding pandas function

xarray.cov

underlying covariance function

Examples

>>> fromxarrayimport 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)> Size: 72B
array([[1. , 2. , 3. ],
 [0.1, 0.2, 0.3],
 [3.2, 0.6, 1.8]])
Coordinates:
 * space (space) <U2 24B 'IA' 'IL' 'IN'
 * time (time) datetime64[us] 24B 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)> Size: 72B
array([[ 0.2, 0.4, 0.6],
 [15. , 10. , 5. ],
 [ 3.2, 0.6, 1.8]])
Coordinates:
 * space (space) <U2 24B 'IA' 'IL' 'IN'
 * time (time) datetime64[us] 24B 2000年01月01日 2000年01月02日 2000年01月03日
>>> xr.corr(da_a, da_b)
<xarray.DataArray ()> Size: 8B
array(-0.57087777)
>>> xr.corr(da_a, da_b, dim="time")
<xarray.DataArray (space: 3)> Size: 24B
array([ 1., -1., 1.])
Coordinates:
 * space (space) <U2 24B 'IA' 'IL' 'IN'
>>> weights = DataArray(
...  [4, 2, 1],
...  dims=("space"),
...  coords=[
...  ("space", ["IA", "IL", "IN"]),
...  ],
... )
>>> weights
<xarray.DataArray (space: 3)> Size: 24B
array([4, 2, 1])
Coordinates:
 * space (space) <U2 24B 'IA' 'IL' 'IN'
>>> xr.corr(da_a, da_b, dim="space", weights=weights)
<xarray.DataArray (time: 3)> Size: 24B
array([-0.50240504, -0.83215028, -0.99057446])
Coordinates:
 * time (time) datetime64[us] 24B 2000年01月01日 2000年01月02日 2000年01月03日
On this page