Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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中,如何比较数据帧中的两个字符串列表中的任何匹配项以获得True或False?_Python_List_Dataframe - Fatal编程技术网

在python中,如何比较数据帧中的两个字符串列表中的任何匹配项以获得True或False?

在python中,如何比较数据帧中的两个字符串列表中的任何匹配项以获得True或False?,python,list,dataframe,Python,List,Dataframe,我在一个数据框中有两列,由字符串列表组成。我想比较列表中的所有项目,看看是否有匹配项,并返回真/假(或任何其他标志)列以突出显示任何匹配项 我试图通过创建集合并按行进行比较来实现这一点,但我不断得到一个“False”,它应该返回“True”('a'在第一列和第二列中,所以应该是True)。如何比较这两个列表 df=pd.DataFrame({'one':['a','bb','b','v'],['aa','b','c','e']], ‘二’:[[b'、'aa'、'a'、'd']、[b'、'w'、'

我在一个数据框中有两列,由字符串列表组成。我想比较列表中的所有项目,看看是否有匹配项,并返回真/假(或任何其他标志)列以突出显示任何匹配项

我试图通过创建集合并按行进行比较来实现这一点,但我不断得到一个“False”,它应该返回“True”('a'在第一列和第二列中,所以应该是True)。如何比较这两个列表

df=pd.DataFrame({'one':['a','bb','b','v'],['aa','b','c','e']],
‘二’:[[b'、'aa'、'a'、'd']、[b'、'w'、'f']})
df['one']=df.apply(lambda行:set(行['one']),轴=1)
df['two']=df.apply(lambda行:set(行['two']),轴=1)
df['check']=df.apply(lambda行:第['two']行中的第['one']行,轴=1)
打印(df)

我希望有一个输出为True的新列,因为列表中有匹配的项。

在您的
应用中使用以下内容

lambda row: bool(row['one'] & row['two']), axis=1

这里,由于
行['one']
行['two']
已经转换为set,
&
在我的
行['one']
行['two']

+1之间执行交集操作,因为它解决了问题,但它可能需要一点解释为什么它能帮助OP或其他读者understand@G.Anderson,重新加载页面并获取解释:D