python-检查列中的部分字符串是否存在于其他列中
以数据集为例:python-检查列中的部分字符串是否存在于其他列中,python,pandas,dataframe,Python,Pandas,Dataframe,以数据集为例: df=pd.DataFrame(['Mexico','Chile',['Nica','Nica',['columbia','Mex']],columns=['col1','col2']) 数据帧如下所示: 我有两个专栏。我想检查第二列中的值是否存在于第一列中。这包括检查部分字符串 所需输出为: 我可以比较第二列中每一行的全部值,但这不能解释部分字符串: df['compare']=np.where(df['col2'].isin(df['col1']),'yes','no')
df=pd.DataFrame(['Mexico','Chile',['Nica','Nica',['columbia','Mex']],columns=['col1','col2'])
数据帧如下所示:
我有两个专栏。我想检查第二列中的值是否存在于第一列中。这包括检查部分字符串
所需输出为:
我可以比较第二列中每一行的全部值,但这不能解释部分字符串:
df['compare']=np.where(df['col2'].isin(df['col1']),'yes','no')
我还能够检查列中是否存在单个值,这会检查部分字符串,但不包括“col2”列中的每一行
df['compare']=df['col1'].str.contains('Mex')
我怎样才能同时做这两件事呢?这看起来像是一项昂贵的手术。您可以尝试:
df['col2'].apply(lambda x: 'Yes' if df['col1'].str.contains(x).any() else 'No')
输出:
0 No
1 Yes
2 Yes
Name: col2, dtype: object