Suppose I have a numpy array like:
a = array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[3, 2, 1]])
I want to check if the second element == 2.
I know I can do this:
>>> a[:,1]==2
array([ True, False, False, True], dtype=bool)
returning booleans. My question is, how do I get the row numbers of the rows where the condition is true? In this example I would want to get back array([0, 3])
because the 0th and 3rd rows match the condition second element == 2.
Use np.where
to return the indices:
In [79]:
np.where(a[:,1]==2)
Out[79]:
(array([0, 3], dtype=int64),)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With