python - 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'])
解决方案
你应该改变这一行
df1[df1['job'][j].str.contains(df2['Keyword'].values[i],na=False)
至
df1[df1['job'][j].contains(df2['Keyword'].values[i],na=False)
推荐阅读
- python - 此类图的名称
- android - Android Studio:一种布局设计未显示布局预览
- laravel - 数据绑定 Laravel Livewire 数学运算出错
- javascript - javascript将值分配给另一个数组中的变量
- android - Android:在 PlayStore 上标记为不兼容的仅 WIFI 平板电脑
- android - 我正在使用 ImagePicker 选择图像并将图像设置在图像视图中,但图像未显示
- html - 下拉菜单:在 ul 内部之前
- laravel - Laravel 路由参数
- mysql - Dockerfile初始化mysql数据库,找不到运行脚本
- python - 如何使用 Selenium 和 Python 登录 2FA 网站、移动 BankID?