确定DataFrame是否包含字符串的某些关键字并获取其位置

时间:2018-08-10 15:24:43

标签: python pandas dataframe

基本上,我们可以输入以下内容:“ Crayola蓝色短蜡笔”。我希望程序浏览csv文件并找到与字符串匹配的第一个/最佳单元。因此,例如,它将是“蓝色短蜡笔”。接下来,它将获得在其旁边的列中找到的零件代码。

if (certain keywords of a string is found in the DataFrame/CSV file):
     print('FOUND')
     val = df2.loc[df2.Dsc1...] <-- Get location of where the keywords are found in the DataFrame. But the column next to it
else:
     val = "N\A"

我尝试使用查找,包含...例如:

if df.Dsc1.contain(selectedtext):
      print('FOUND')

但是我总是会说同样的错误:

AttributeError: 'Series' object has no attribute 'contain'

任何帮助将不胜感激。 谢谢

编辑:

我找到了以下代码段:

df[df['Dsc1'].str.contains(selectedtext)].

但是我想做相反的事情。仅当DataFrame包含所选文本时,此代码才提取索引。但是因为我希望DataFrame具有关键字,并且所选文本具有大短语

DataFrame:

  1. 红色
  2. 蓝色
  3. ...

所选文本:

  • 大蓝绘儿乐蜡笔
  • ...

我希望代码比较选定的文本和DataFrame,以查看两个实例之间的BLUE是否相似。然后它将获取索引。所以我在想像这样的事情...

selectedtext.str.contains(df[df['Dsc1']])

但是该代码显然不起作用,我收到了这些错误。

AttributeError: 'str' object has no attribute 'str'

并且:

AttributeError: 'str' object has no attribute 'contains'

当我不使用.str时。

编辑#2: 使用:

selectedtext.__contains__(df[df['Dsc1']])

我得到:

"['Crayon'] not in index"

0 个答案:

没有答案