xskillscore.linslope

xskillscore.linslope(a, b, dim=None, weights=None, skipna=False, keep_attrs=False)

Slope of linear fit.

\[s_{ab} = \frac{ \sum_{i=i}^{n} (a_{i} - \bar{a}) (b_{i} - \bar{b}) } { \sum_{i=1}^{n} (a_{i} - \bar{a})^{2} }\]
Parameters
  • a (xarray.Dataset or xarray.DataArray) – Labeled array(s) over which to apply the function.

  • b (xarray.Dataset or xarray.DataArray) – Labeled array(s) over which to apply the function.

  • dim (str, list) – The dimension(s) to apply the slope of linear fit along. Note that this dimension will be reduced as a result. Defaults to None reducing all dimensions.

  • weights (xarray.Dataset or xarray.DataArray or None) – Weights matching dimensions of dim to apply during the function.

  • skipna (bool) – If True, skip NaNs when computing function.

  • keep_attrs (bool) – If True, the attributes (attrs) will be copied from the first input to the new one. If False (default), the new object will be returned without attributes.

Returns

Slope of linear fit.

Return type

xarray.DataArray or xarray.Dataset

Examples

>>> a = xr.DataArray(np.random.rand(5, 3, 3),
...                  dims=['time', 'x', 'y'])
>>> b = xr.DataArray(np.random.rand(5, 3, 3),
...                  dims=['time', 'x', 'y'])
>>> xs.linslope(a, b, dim='time')
<xarray.DataArray (x: 3, y: 3)>
array([[-0.30948771, -0.21562529, -0.63141304],
       [ 0.31446077,  2.23858011,  0.44743617],
       [-0.22243944,  0.47034784,  1.08512859]])
Dimensions without coordinates: x, y