I have a numpy array (in Python 3) and I'd like to find a sub-vector in it.
If I search for a full vector, this code works:
import numpy as np
a = np.zeros([10,5])
a[0] = [5,6,4,8,5]
a[1] = [3,6,8,5,3]
a[2] = [3,2,1,5,3]
a[3] = [6,5,6,4,6]
a[4] = [3,4,7,6,3]
a[5] = [2,3,1,5,2]
a[6] = [1,1,3,2,1]
a[7] = [6,5,8,8,6]
a[8] = [5,4,9,7,5]
a[9] = [1,2,7,8,1]
print(a)
search = [2,3,1,5,2] # correctly returns 5
i = np.argwhere(np.all((a-np.array(search))==0, axis=1))
print(int(i))
Ok, but I'd like to find this sub-vector:
search = [2,3,1,5]
How can I find it?
[2,3,1,_,5]a valid vector for the subvector? It is always a prefix?