包含多个值之一

Contains one of several values

我有一个包含列 x 的数据框 df 和一个列表 lst =["apple","peach","pear"]

df  
x               
apple234  
pear231  
banana233445 

如果 df["x"] 中的第 1 行包含 lst 中的任何值:则 1 否则 0

最终数据应如下所示:

df  
x  y  
apple234  -- 1  
pear231 -- 1    
banana233445 - 0 

使用str.contains with regex | for join all values of list, last cast boolean mask to 0,1 by astype:

lst =["apple","peach","pear"]

df['y'] = df['x'].str.contains('|'.join(lst)).astype(int)
print (df)
              x  y
0      apple234  1
1       pear231  1
2  banana233445  0