# How to Calculate the Factorial of an Array in Numpy

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, in
print(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.]]

```