如何在第二个 list2 和 return 具有相同项目的数据框中搜索 list1 中的项目

How search for items in list1 in a second list2 and return a data-frame with items that are equal

Python,如何在第二个 list2 和 return 具有相同项目的数据框中搜索 list1 中的项目。

任何人都会帮忙,我需要找到两个字符串中的一些值,然后 return 与该行相关的 ID。

根据我在另一个数据框中尝试 return 相等值失败的原因。

这是参考列表 1 (binglist)

binglist

['31664745', '283494006', '283494005', '283494009', '283494007', 
'283494008','283703957', '283703955', '283703956', '283703954',
 '283703960', '31454872', '283536236', '0', '0', '0', '0', '0',
 '0', '0', '0']

这是我们需要搜索的列表,list2(数据框)

cw["campaignname"].unique()

cw["campaignname"]

array(['35119190', '31664745', '4899110', '804530544', '325772660',
       '283494005', '64002140', '272351300', '2016404066', '753857250',
       '6.12855E+12', '283703956', '283703960',
       '169278078', 'business', '636589579', '52106838', 'science',
       '820812876', 'art'], dtype=object)

按照我在另一个数据框中尝试 return 相同的值失败的原因。

# using a set makes the later `x in keep` test faster
keep= set(binglist)


# -> Loop all cw["campaignname"] records only(Bing records)  
# -> If there is a equal value 
# -> return the id 

b = [x= cw["id"] for x in cw["campaignname"].filter(["Bing", "BingBrand", "BingNonBrand"])  if x in bing]

# it give me empty result

它给我空结果

我们通常使用 isinloc

Yourdf=cw[cw['campaignname'].isin(keep)].copy()
Yourdf['id']