Cast the 'row' variable to an np.array instead of a list.
import numpy as np
row=['12347','Van','18/01/2017']
npvalues = np.array([ ['12345','Bus','23/02/2017'],['12346','Truck','01/07/2017'],['12347','Van','18/01/2017'] ])
row
Out[60]: ['12347', 'Van', '18/01/2017']
npvalues
Out[61]:
array([['12345', 'Bus', '23/02/2017'],
['12346', 'Truck', '01/07/2017'],
['12347', 'Van', '18/01/2017']],
dtype='<U10')
# Cast instead
row = np.asarray(row)
np.isin(row, npvalues)
Out[63]: array([ True, True, True], dtype=bool)
Note - I was able to run your code as is, and get the answer required.
row=['12347','Van','18/01/2017']
npvalues = np.array([ ['12345','Bus','23/02/2017'],['12346','Truck','01/07/2017'],['12347','Van','18/01/2017'] ])
np.isin(row, npvalues)
Out[64]: array([ True, True, True], dtype=bool)
Here are my version infos
import sys
sys.version
Out[71]: '3.6.4 |Anaconda, Inc.| (default, Mar 12 2018, 20:20:50) [MSC v.1900 64 bit (AMD64)]'
np.version.full_version
Out[67]: '1.13.3'