【问题标题】:How search for items in list1 in a second list2 and return a data-frame with items that are equal如何在第二个 list2 中搜索 list1 中的项目并返回一个包含相等项目的数据框
【发布时间】:2020-01-24 01:34:50
【问题描述】:

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

任何人都会提供帮助,我需要找出两个字符串中的 some 值,然后返回与该行相关的 id。

按照我如何尝试在另一个数据帧中返回相等的值失败。

这是参考列表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 (Data-frame)

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)

按照我如何尝试在另一个数据帧中返回相等的值失败。

# 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

它给了我空的结果

【问题讨论】:

  • 预期结果是什么?
  • 相等的字符串。赞35119190

标签: python string pandas hash string-search


【解决方案1】:

我们通常使用isinloc

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

【讨论】:

  • 谢谢 WeNYoBen,我明天早上第一件事会尝试一下,我会告诉你
  • 它有效,唯一的问题是......它会删除不同的那些,只保留一些。在这种情况下,我确实需要找到错误的然后修复它们。
  • @PeterBrito weargone=cw[~cw['campaignname'].isin(keep)].copy()
猜你喜欢
  • 2021-10-22
  • 2021-12-27
  • 2020-12-12
  • 2021-04-13
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多