The **numpy.where()** function in Python’s NumPy library is used for element-wise conditional operations on arrays. It allows us to apply conditions to elements in an array and return elements from different arrays based on those conditions.

Using **numpy.where()** function we can find indices where a condition is True which will help to locate a particular element in an array. When we deal with the missing or NaN values in our data we can use** numpy.where()** to replace that missing value with the appropriate value. This function has lots of use cases.

In this article, we will explore the **numpy.where()** function and its syntax along with some examples.

**Also Read: Python NumPy divide() Function (With Examples)**

## Syntax of numpy.where() Function

Let us get started with the basic components of the numpy.where() function as shown below.

**Syntax:**

```
numpy.where(condition, x, y)
```

**Parameters:**

**condition:**This is the condition to be checked for each element in the array. It can be a boolean array or a condition that evaluates to a boolean value.**x:**The value to be used when the condition is True.**y:**The value to be used when the condition is False.

## Examples of numpy.where() Function

**There are three ways through which we can use numpy.where() function:**

- Using numpy.where() function with a single condition
- Using numpy.where() function with multiple conditions
- Using numpy.where() function without any condition

### 1. Using numpy.where() Function with a Single Condition

We can apply a single condition with **np.where()** function by putting the condition in **() **and using >, <, etc.

**Example 1:**

```
import numpy as np
arr = np.array([1,2,3,5,7,8,11])
result = np.where(arr<6)
result
```

In the above code to use the **where()** function we first imported the** NumPy** library as **np** then by using np we created an array and stored that array in a variable **arr**. Then we used the **np.where() **function with the condition that array elements should be less than 6 and then stored it in a variable **result**. Lastly, we printed the variable **result **from which we got the indices of the elements** 1,2,3, and 5** as they are less than 6.

**Output:**

**Example 2:**

```
import numpy as np
arr = np.arange(20)
result = np.where(arr>15,"A","B")
result
```

In the above code, we have used **np.arange()** function for creating an array called **arr** of 20 elements from 0 to 19. Then in **np.where()** function we have written a condition that elements that are stored in arr and greater than 15 will be replaced with A and others will be replaced with B.

**Output:**

2. Using numpy.where() Function with Multiple Conditions

We can apply multiple conditions with the **numpy.where()** function by putting the condition in** ()** and using **&**.

**Example 1:**

```
import numpy as np
arr = np.arange(50)
result = np.where((arr >=0) & (arr <=30), "0-30" ,arr)
result
```

Here we have used** np.arange()** function for creating an array called **arr** of 50 elements from 0 to 49. Then in **np.where()** function we have written conditions that elements which are stored in **arr** and which are greater than and equal to 0 and at the same time the elements which are less than and equal to 30 should be replaced with **0-30** and others should be replaced with the elements from the **arr** itself.

**Output:**

**Example 2:**

```
import numpy as np
arr = np.array([1,2,4,5,6,7])
result = np.where((arr>2) & (arr<6),['A','A','A','A','A','A'],['B','B','B','B','B','B'])
result
```

**Output:**

3. Using numpy.where() Function without Any Condition

In this case, the **numpy.where()** function returns the array according to the boolean condition. True will pick an element from the **x **array which is [1,2,4] and False will pick an element from the **y **array which is [7,8,9].

**Example:**

```
import numpy as np
result = np.where([True,False,False],[1,2,4],[7,8,9])
result
```

In the above code, we have only passed the boolean array i.e.** [True, False, False] **not the condition in the **np.where()** function so np.where() function iterated over the Boolean array and for each **True **value it picked the value from list one i.e **[1,2,4] **and for each **False **value it picked the value from the second list i.e **[7,8,9]**. Let’s see the result.

**Output:**

## Summary

**Numpy.where()** is a fundamental function for element-wise conditional operations on arrays. We can effortlessly find the indices of the elements where a condition is satisfied by using this function. In this tutorial, we have discussed three different ways to use the numpy.where() function with examples. After reading this, we hope you can use this function easily in Python.

## Reference

https://stackoverflow.com/questions/5642457/how-does-python-numpy-where-work