I have a dataframe df:
data = {\'id\':[12,112],
\'idlist\':[[1,5,7,12,112],[5,7,12,111,113]]
}
df=pd.DataFrame.from_dict(data)
>
By using issubset
df.apply(lambda x : set([x.id]).issubset(x.idlist),1).astype(int)
Out[378]:
0 1
1 0
dtype: int32
By using np.vectorize
def myfun(x,y):
return np.in1d(x,y)
np.vectorize(myfun)(df.id,df.idlist).astype(int)
Timing :
%timeit np.vectorize(myfun)(df.id,df.idlist).astype(int)
10000 loops, best of 3: 92.3 µs per loop
%timeit df.apply(lambda x : set([x.id]).issubset(x.idlist),1).astype(int)
1000 loops, best of 3: 353 µs per loop