In this post, you will learn how to calculate the factorial of an array in Numpy.
How to calculate the factorial in Numpy?
In Numpy, it is very easy to calculate the factorial. Just use the factorial method.
import numpy as np my_number = 7 print(f"The factorial of {my_number} is {np.math.factorial(my_number)}.")
Output:
The factorial of 7 is 5040.
Problem with computing the factorial of array
Calculating the factorial for the given number is simple. However, this method will not work for the array factorial.
import numpy as np my_array = np.array([[1,2,3],[4,5,6]]) print(f"The factorial of my array is {np.math.factorial(my_array)}.")
You will get the following error:
Traceback (most recent call last): File "C:\Users\pythoneo\PycharmProjects\venv\myfile.py", line 5, inprint(f"The factorial of my array is {np.math.factorial(my_array)}.") TypeError: only integer scalar arrays can be converted to a scalar index Process finished with exit code 1
You need another way to calculate the factorial of a array.
How to calculate the factorial of an array in Numpy?
The scipy module will help you to calculate the factorial of the array. It includes a function that will calculate the factorial also for the Numpy array.
import numpy as np import scipy.special my_array = np.array([[1,2,3],[4,5,6]]) my_factorial = scipy.special.factorial(my_array) print(f"The factorial of my array is \n{my_factorial}")
Output:
The factorial of my array is [[ 1. 2. 6.] [ 24. 120. 720.]]