如何按职位过滤数据集?

时间:2018-11-25 20:47:25

标签: python pandas dataframe filtering data-science

我正试图分别提取“数据科学家”和“高级数据科学家”职位的公司,职位描述,评论和位置。我首先尝试获取数据科学家的输出,但未能成功。数据集有两个工作的重复,我正在尝试精确提及“数据科学家”或“高级数据科学家”的所有实例。

dataset['position']=dataset.position.str.lower()
dataset
        position            company     description      reviews     location
0   data scientist lead     ALS TDI   This position is...  30.0    Atlanta
1   NaN                      xyz        qualified candid.. 4000.0   Texas
2   data scientist           xcv       python desireable..  232.0    toronto
3   data scientist           intel     CS Degree needed..  322145.0   Newyork
4   senior data scientist   amazon     python, excel....   23222.0     montreal
.
.
5000  data scientist/machine  yahoo   sql needed plus...  Nan            Atlanta

我正在使用以下内容创建一个数据框,该数据框具有明确的位置记录,仅记录“数据科学家”,而不显示索引0和5000中的变化。

filtered = dataset[dataset['position'].str.contains('data scientist', na=False)]

但是它不起作用,因为它提供了字符串包含“数据科学家”(包括“高级数据科学家”和“数据科学家/机器”)的所有记录

1 个答案:

答案 0 :(得分:0)

pd.Series.str.contains用于查找包含给定字符串的值。

ps.Series.eq或等效的等于运算符==用于查找与给定字符串等于的值。

pd.DataFrame.query提供了一种通过字符串查询数据框的方法。

因此您可以使用以下之一:

filtered = dataset[dataset['position'].eq('data scientist')]
filtered = dataset[dataset['position'] == 'data scientist']
filtered = dataset.query('position == "data scientist"')