Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
NumPy prod()
In this tutorial, you will learn about the numpy.prod() method with the help of examples.
The prod() function calculates the product of array elements along a specified axis or across all axes.
Example
import numpy as np
array1 = np.array([1, 2, 3, 4, 5])
# use prod() to calculate product of array1 elements
result = np.prod(array1)
print(result)
# Output : 15
prod() Syntax
The syntax of prod() is:
numpy.prod(array, axis = None, dtype = None, out = None, keepdims = <no value>)
prod() Arguments
The prod() function takes following arguments:
array- the input arrayaxis(optional) - the axis along which the product is calculateddtype(optional) - the data type of the returned outputout(optional) - the output array where the result will be storedkeepdims(optional) - whether to preserve the input array's dimension (bool)
prod() Return Value
The prod() function returns the product of array elements.
Example 1: prod() With 2-D Array
The axis argument defines how we can find the product of elements in a 2-D array.
- If
axis=None, the array is flattened and the product of the flattened array is returned. - If
axis= 0, the product is calculated column-wise. - If
axis= 1, the product is calculated row-wise.
import numpy as np
# create a 2D array
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# calculate the product along different axes
result_none = np.prod(arr, axis=None)
result_cols = np.prod(arr, axis=0)
result_rows = np.prod(arr, axis=1)
print("Product of all elements (axis=None):", result_none)
print("Product along columns (axis=0):", result_cols)
print("Product along rows (axis=1):", result_rows)
Output
Product of all elements (axis=None): 362880 Product along columns (axis=0): [ 28 80 162] Product along rows (axis=1): [ 6 120 504]
Example 2: Use out to Store the Result in Desired Location
import numpy as np
array1 = np.array([[10, 17, 25],
[15, 11, 22],
[11, 19, 20]])
# create an empty array
array2= np.array([0, 0, 0])
# pass the 'out' argument to store the result in array2
np.prod(array1, axis = 0, out = array2)
print(array2)
Output
[ 1650 3553 11000]
Here, after specifying out=array2, the result of the product of array1 along axis=0 is stored in the array2 array.
Example 3: prod() With keepdims
When keepdims = True, the dimensions of the resulting array matches the dimension of an input array.
import numpy as np
array1 = np.array([[10, 17, 25],
[15, 11, 22]])
print('Dimensions of original array: ', array1.ndim)
result = np.prod(array1, axis = 1)
print('\n Without keepdims: \n', result)
print('Dimensions of array: ', result.ndim)
# set keepdims to True to retain the dimension of the input array
result = np.prod(array1, axis = 1, keepdims = True)
print('\n With keepdims: \n', result)
print('Dimensions of array: ', result.ndim)
Output
Dimensions of original array: 2 Without keepdims: [4250 3630] Dimensions of array: 1 With keepdims: [[4250] [3630]] Dimensions of array: 2
Without keepdims, the result is simply a one-dimensional array of indices.
With keepdims, the resulting array has the same number of dimensions as the input array.