One can use numpy‘s extract function to match an element in an array. The following code matches an element 'a.' exactly in an array. Suppose I want
to match all elements containing '.', how would I do that? Note that in this case, there would be two matches. I’d also like to get the row and column number of the matches. The method doesn’t have to use extract; any method will do. Thanks.
In [110]: x = np.array([['a.','cd'],['ef','g.']])
In [111]: 'a.' == x
Out[111]:
array([[ True, False],
[False, False]], dtype=bool)
In [112]: np.extract('a.' == x, x)
Out[112]:
array(['a.'],
dtype='|S2')
You can use the string operations:
EDIT: As per request in the comments… If you want to find out the indexes of where the target condition is true, use numpy.where:
or