Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-检查列中的部分字符串是否存在于其他列中_Python_Pandas_Dataframe - Fatal编程技术网

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