# NumPy Prod – A Complete Guide Hello and welcome to this tutorial on Numpy prod. In this tutorial, we will be learning about the NumPy prod() method and also seeing a lot of examples regarding the same. So let us begin!

Also read: NumPy Zeros – A Complete Guide

## What is NumPy prod?

The prod method in NumPy is a function that returns the product of the array elements. It can be the product of all the array elements, the product of the array elements along the rows, or the product of the array elements along the columns.
We will see the examples for each of these in the upcoming section of this tutorial.

## Syntax of NumPy prod

Let us first have a look at the syntax of the NumPy prod function.

```numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)
```

Returns:
An array with the same shape as a which contains the product of the elements of a along the axis given and the specified axis removed. If the axis=None, a scalar is returned which is the product of the whole array.

## Examples of numpy.prod()

Let’s get right into the different examples of using numpy.prod() function.

### Product of the entire array

1-dimensional array

```import numpy as np

a = [5, 3, 1]

product = np.prod(a)
print("a =", a)
print("Product of the array =", product)
```

Output:

```a = [5, 3, 1]
Product of the array = 15
```

Product of the array = 5*3*1 = 15

2-dimensional array

```import numpy as np

a = [[5, 3, 1], [1, 2, 4]]

product = np.prod(a)
print("a =", a)
print("Product of the array =", product)
```

Output:

```a = [[5, 3, 1], [1, 2, 4]]
Product of the array = 120
```

Product of the array = 5*3*1*1*2*4 = 120

### Product along the axis

Column-wise product

```import numpy as np

a = [[5, 3, 1],
[1, 2, 4]]

# product along axis=0 i.e. columns
product = np.sum(a, axis=0)
print("a =", a)
print("Product of the array along the columns =", product)
```

Output:

```a = [[5, 3, 1], [1, 2, 4]]
Product of the array along the columns = [5 6 4]
```

Column 0 product = 5*1 = 5
Column 1 product= 3*2 = 6
Column 2 product = 1*4 = 4

Row-wise product

```import numpy as np

a = [[5, 3, 1],
[1, 2, 4]]

# product along axis=1 i.e. rows
product = np.prod(a, axis=1)
print("a =", a)
print("Product of the array along the rows =", product)
```

Output:

```a = [[5, 3, 1], [1, 2, 4]]
Product of the array along the rows = [15  8]
```

Row 0 product = 5*3*1 = 15
Row 1 product = 1*2*4 = 8

### Return the product of the array as float data type

This is the same as the above examples except that here the returned values are of float data type.

Product of the entire array

```import numpy as np

a = [[2, 3 ,6],
[1, 5, 4]]

product = np.prod(a, dtype=float)
print("a =", a)
print("Product of the array along the columns =", product)
```

Output:

```a = [[2, 3, 6], [1, 5, 4]]
Product of the array along the columns = 720.0
```

Column-wise product

```import numpy as np

a = [[2, 3 ,6],
[1, 5, 4]]

# product along axis=0 i.e. columns
product = np.prod(a, axis=0, dtype=float)
print("a =", a)
print("Product of the array along the columns =", product)
```

Output:

```a = [[2, 3, 6], [1, 5, 4]]
Product of the array along the columns = [ 2. 15. 24.]
```

Row-wise product

```import numpy as np

a = [[2, 3 ,6],
[1, 5, 4]]

# product along axis=1 i.e. rows
product = np.prod(a, axis=1, dtype=float)
print("a =", a)
print("Product of the array along the rows =", product)
```

Output:

```a = [[2, 3, 6], [1, 5, 4]]
Product of the array along the rows = [36. 20.]
```

### Product of only specific elements in the array

1-dimensional array

```import numpy as np

a = [2, 9, 3, 4, 1]

product = np.prod(a, where=[True, False, False, True, True])
print("a =", a)
print("Product of the array =", product)
```

Output:

```a = [2, 9, 3, 4, 1]
Product of the array = 8
```

In the above code, the ‘where’ clause specifies which elements to include in the product. ‘True’ implies that include this value in the product and ‘False’ implies that do not include this value in the product calculation.
Here, where=[True, False, False, True, True] denotes that only include the elements at positions 0, 3 and 4 of the array in the product. Hence, product = a*a*a = 2*4*1 = 8.

2-dimensional array

```import numpy as np

a = [[2, 9],
[7, 10]]

product = np.prod(a, where=[[True, False], [False, True]])
print("a =", a)
print("Product of the array =", product)
```

Output:

```a = [[2, 9], [7, 10]]
Product of the array = 20
```

Here, from the 0th row, only a i.e. 2 and from the 1st row, only a i.e. 10 is included in the product. Hence, product = 2*10 = 20.

## Conclusion

That’s all! In this tutorial, we learned about the Numpy prod method and practiced different types of examples using the same.