xray.ufuncs.copysign(*args, **kwargs)

xray specific variant of numpy.copysign. Handles xray.Dataset, xray.DataArray, xray.Variable, numpy.ndarray and dask.array.Array objects with automatic dispatching.

Documentation from numpy:

copysign(x1, x2[, out])

Change the sign of x1 to that of x2, element-wise.

If both arguments are arrays or sequences, they have to be of the same length. If x2 is a scalar, its sign will be copied to all elements of x1.


x1 : array_like

Values to change the sign of.

x2 : array_like

The sign of x2 is copied to x1.

out : ndarray, optional

Array into which the output is placed. Its type is preserved and it must be of the right shape to hold the output. See doc.ufuncs.


out : array_like

The values of x1 with the sign of x2.


>>> np.copysign(1.3, -1)
>>> 1/np.copysign(0, 1)
>>> 1/np.copysign(0, -1)
>>> np.copysign([-1, 0, 1], -1.1)
array([-1., -0., -1.])
>>> np.copysign([-1, 0, 1], np.arange(3)-1)
array([-1.,  0.,  1.])