#### Previous topic

numpy.power

#### Next topic

numpy.true_divide

# numpy.subtract

`numpy.``subtract`(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'subtract'>

  Subtract arguments, element-wise.

  Parameters: | x1, x2 : array_like The arrays to be subtracted from each other. out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional Values of True indicate to calculate the ufunc at that position, values of False indicate to leave the value in the output alone. **kwargs For other keyword-only arguments, see the ufunc docs.
  Returns: | y : ndarray The difference of x1 and x2, element-wise. Returns a scalar if both x1 and x2 are scalars.

  Notes

  Equivalent to `x1 - x2` in terms of array broadcasting.

  Examples

      >>> np.subtract(1.0, 4.0)
      -3.0

      >>> x1 = np.arange(9.0).reshape((3, 3))
      >>> x2 = np.arange(3.0)
      >>> np.subtract(x1, x2)
      array([[ 0.,  0.,  0.],
             [ 3.,  3.,  3.],
             [ 6.,  6.,  6.]])