You can use the following methods to get the indices where some condition is true in NumPy:

**Method 1: Get Indices Where Condition is True in NumPy Array**

#get indices of values greater than 10 np.asarray(my_array>10).nonzero()

**Method 2: Get Indices Where Condition is True in NumPy Matrix**

#get indices of values greater than 10 np.transpose((my_matrix>10).nonzero())

**Method 3: Get Indices Where Condition is True in Any Row of NumPy Matrix**

#get indices of rows where any value is greater than 10np.asarray(np.any(my_matrix>10, axis=1)).nonzero()

The following examples show how to use each method in practice.

**Example 1: Get Indices Where Condition is True in NumPy Array**

The following code shows how to get all indices in a NumPy array where the value is greater than 10:

**import numpy as np
#create NumPy array
my_array = np.array([2, 2, 4, 5, 7, 9, 11, 12, 3, 19])
#get index of values greater than 10
np.asarray(my_array>10).nonzero()
(array([6, 7, 9], dtype=int32),)
**

From the output we can see that the values in index positions **6**, **7**, and **9** of the original NumPy array have values greater than 10.

**Example 2: Get Indices Where Condition is True in NumPy Matrix**

The following code shows how to get all indices in a NumPy matrix where the value is greater than 10:

**import numpy as np
#create NumPy matrix
my_matrix = np.array([[2, 5, 9, 12],
[6, 7, 8, 8],
[2, 5, 7, 8],
[4, 1, 15, 11]])
#get index of values greater than 10
np.transpose((my_matrix>10).nonzero())
array([[0, 3],
[3, 2],
[3, 3]], dtype=int32)**

From the output we can see that the values in the following index positions of the matrix have values greater than 10:

- [0, 3]
- [3, 2]
- [3, 3]

**Example 3: Get Indices Where Condition is True in Any Row of NumPy Matrix**

The following code shows how to get all row indices in a NumPy matrix where the value is greater than 10 in *any* element of the row:

**import numpy as np
#create NumPy matrix
my_matrix = np.array([[2, 5, 9, 12],
[6, 7, 8, 8],
[2, 5, 7, 8],
[4, 1, 15, 11]])
#get index of rows where any value is greater than 10
np.asarray(np.any(my_matrix>10, axis=1)).nonzero()
(array([0, 3], dtype=int32),)
**

From the output we can see that rows **0** and **3** have at least one value greater than 10.

**Note**: To get indices where a condition is true in a column, use** axis=0** instead.

**Additional Resources**

The following tutorials explain how to perform other common tasks in NumPy:

How to Fill NumPy Array with Values

How to Remove Specific Elements from NumPy Array

How to Replace Elements in NumPy Array

How to Get Specific Row from NumPy Array