NumPy divide() Function



The NumPy divide() function is used to perform element-wise division between two arrays or an array and a scalar.

It divides the first array by the second array, element by element, and returns a new array of the results. If division by zero occurs, it results in inf or nan, depending on the context. This function can also handle broadcasting for arrays of different shapes.

Syntax

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

numpy.divide(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 numerator input array. Both arrays should have the same shape, or they must be broadcastable to a common shape.
  • x2: The denominator 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 divided. 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 quotient of the input arrays x1 and x2. If out is provided, it returns a reference to out.

Example: Basic Usage of divide() Function

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

import numpy as np

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

# Performing element-wise division
result = np.divide(arr1, arr2)
print(result)

Following is the output obtained −

[5. 5. 6. 4.]

Example: Dividing Arrays with Broadcasting

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

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([2, 4, 6])

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

This will produce the following result −

[[ 5.   5.   5. ]
 [20.  12.5 10. ]]

Example: Using the "out" Parameter

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

import numpy as np

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

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

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

Following is the output of the above code −

[5. 5. 6. 4.]

Example: Using the "where" Parameter

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

import numpy as np

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

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

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

The output obtained is as shown below −

[5.e+000 0.e+000 6.e+000 8.e-323]
numpy_arithmetic_operations.htm
Advertisements