## Exploring `numpy.where()`

Function

In Python, the `numpy`

library is widely used for numerical computing. One of the key functions in `numpy`

is `numpy.where()`

, which allows you to perform conditional operations on arrays. In this article, we will explore the `numpy.where()`

function in detail and provide some code examples to demonstrate its usage.

## Understanding `numpy.where()`

The `numpy.where()`

function returns the indices of elements in an input array that satisfy a given condition. It has the following syntax:

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

`condition`

: The condition to be checked for each element in the input array.`x`

: The value to be returned when the condition is True.`y`

: The value to be returned when the condition is False.

The `numpy.where()`

function returns a new array with the same shape as the input array, where elements that satisfy the condition are replaced with `x`

, and elements that do not satisfy the condition are replaced with `y`

.

## Examples of `numpy.where()`

### Example 1: Selecting elements greater than a threshold

```
import numpy as np
arr = np.array([1, 5, 10, 15, 20])
threshold = 10
result = np.where(arr > threshold, arr, 0)
print(result)
```

Output:

Example 2: Replacing negative values with zero

```
import numpy as np
arr = np.array([-1, 2, -3, 4, -5])
result = np.where(arr < 0, 0, arr)
print(result)
```

Output:

Example 3: Extracting indices of elements matching a condition

```
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
condition = arr > 30
result = np.where(condition)
print(result)
```

Output:

Example 4: Using `numpy.where()`

with multi-dimensional arrays

```
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
threshold = 5
result = np.where(arr > threshold, arr, 0)
print(result)
```

Output:

Example 5: Combining two arrays based on a condition

```
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([10, 20, 30])
condition = arr1 > 1
result = np.where(condition, arr1, arr2)
print(result)
```

Output:

Example 6: Applying multiple conditions using `numpy.logical_and()`

```
import numpy as np
arr = np.array([5, 10, 15, 20, 25])
condition1 = arr > 10
condition2 = arr < 20
result = np.where(np.logical_and(condition1, condition2), arr, 0)
print(result)
```

Output:

Example 7: Using `numpy.where()`

to create a mask

```
import numpy as np
arr = np.array([1, 0, 2, 0, 3, 0])
mask = np.where(arr != 0, True, False)
print(mask)
```

Output:

Example 8: Handling NaN values in an array

```
import numpy as np
arr = np.array([1, 2, np.nan, 4, 5])
result = np.where(np.isnan(arr), 0, arr)
print(result)
```

Output:

Example 9: Applying a complex condition with `numpy.logical_or()`

```
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = np.logical_or(arr < 2, arr > 4)
result = np.where(condition, arr, 0)
print(result)
```

Output:

Example 10: Using numpy.where() with string arrays

```
import numpy as np
arr = np.array(['data', 'numpywhere.com', 'geek-docs.com', 'deepinout.com'])
result = np.where(arr == 'data', 'Web', arr)
print(result)
```

Output:

Conclusion of `numpy.where()`

Function

In this article, we have explored the `numpy.where()`

function in Python and provided several code examples to demonstrate its functionality. This versatile function allows you to perform conditional operations on arrays efficiently, making it a valuable tool for data manipulation and processing in numerical computing applications. By mastering `numpy.where()`

, you can enhance your ability to work with arrays and perform complex operations with ease.