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 of a single number. Just use the math.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 a single 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.special.factorial() function can be used to calculate the factorial of an 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.]]