NumPy subtract() Function



The NumPy subtract() function is used to perform element-wise subtraction of two arrays. It takes two input arrays of the same shape and subtracts corresponding elements.

If the arrays have different shapes, broadcasting rules apply. The function returns a new array with the result of the subtraction.

Syntax

Following is the syntax of the NumPy subtract() function −

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

Parameters

This function accepts the following parameters −

  • x1: The first input array. Both arrays should have the same shape, or they must be broadcastable to a common shape.
  • x2: The second input array. Like x1, it should have the same shape as x1, or be broadcastable to a common shape.
  • out (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.
  • where (optional): This condition is broadcast over the input. At locations where the condition is True, the out array will be set to the ufunc result. Otherwise, it will retain its original value.
  • casting (optional): Controls what kind of data casting may occur. Defaults to 'same_kind'.
  • order (optional): Controls the memory layout order of the result. 'C' means C-order, 'F' means Fortran-order, 'A' means 'F' if inputs are all F, 'C' otherwise, 'K' means match the layout of the inputs as closely as possible.
  • dtype (optional): The type of the returned array and of the accumulator in which the elements are summed. The dtype of x1 and x2 is used by default unless dtype is specified.
  • subok (optional): If True, then sub-classes will be passed-through, otherwise the returned array will be forced to be a base-class array.

Return Value

This function returns the element-wise difference of the input arrays x1 and x2. If out is provided, it returns a reference to out.

Example: Basic Usage of subtract() Function

In the following example, we create two 1-dimensional arrays and use the subtract() function to perform element-wise subtraction −

import numpy as np

# Creating two 1-dimensional arrays
arr1 = np.array([10, 20, 30, 40])
arr2 = np.array([1, 2, 3, 4])

# Performing element-wise subtraction
result = np.subtract(arr1, arr2)
print(result)

Following is the output obtained −

[ 9 18 27 36]

Example: Subtracting Arrays with Broadcasting

In this example, we demonstrate the use of broadcasting with the subtract() function. We create a 2-dimensional array and subtract a 1-dimensional array from it −

import numpy as np

# Creating a 2-dimensional array
arr1 = np.array([[10, 20, 30], [40, 50, 60]])

# Creating a 1-dimensional array
arr2 = np.array([1, 2, 3])

# Performing element-wise subtraction with broadcasting
result = np.subtract(arr1, arr2)
print(result)

This will produce the following result −

[[ 9 18 27]
 [39 48 57]]

Example: Using the "out" Parameter

In this example, we use the out parameter to store the result of the subtraction in a specified array −

import numpy as np

# Creating two 1-dimensional arrays
arr1 = np.array([10, 20, 30, 40])
arr2 = np.array([1, 2, 3, 4])

# Creating an output array
out_arr = np.empty(4)

# Performing element-wise subtraction and storing the result in out_arr
np.subtract(arr1, arr2, out=out_arr)
print(out_arr)

Following is the output of the above code −

[ 9. 18. 27. 36.]

Example: Using the "where" Parameter

In this example, we use the where parameter to conditionally perform the subtraction operation −

import numpy as np

# Creating two 1-dimensional arrays
arr1 = np.array([10, 20, 30, 40])
arr2 = np.array([1, 2, 3, 4])

# Creating a condition array
condition = np.array([True, False, True, False])

# Performing element-wise subtraction where the condition is True
result = np.subtract(arr1, arr2, where=condition)
print(result)

The output obtained is as shown below −

[ 9 0 27 16]
numpy_arithmetic_operations.htm
Advertisements