首页 > 解决方案 > Python数据框包含

问题描述

我有两个数据帧。一个数据帧包含一些描述。其他数据帧,我有一组关键字。如果我的第二个数据帧中的关键字包含在第一个数据帧中,我想列出第一个数据帧的其他属性。我尝试使用以下代码并获取错误“str”对象没有属性“str”

Ist Dataframe 的内容如下:

Name Age Sex    Job

Ed   40  M  He is a Lawyer

Aby  30  F  She is a Doctor

IInd Dataframe的内容如下:

  Keyword    Score
   Lawyer    2.0
   Doctor    2.0

如果来自 II datafarme 的关键字包含在第一个数据帧的 Job 列中,我希望 Ist 数据帧的结果打印名称、年龄和性别。

我尝试使用以下代码,但由于“str”对象没有属性“str”而出错。有人可以提出解决方案吗?

for i in range(0,len(df2['Keyword'])):
    for j in range(0,len(df1['job'])):
        if df1[df1['job'][j].str.contains(df2['Keyword'].values[i],na=False)]:
            print(df1.ix[j,'Name'],df1.ix[j,'Age'])

标签: python

解决方案


你应该改变这一行

df1[df1['job'][j].str.contains(df2['Keyword'].values[i],na=False)

df1[df1['job'][j].contains(df2['Keyword'].values[i],na=False)

推荐阅读