首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何快速清理职业清单?

如何快速清理职业清单?
EN

Stack Overflow用户
提问于 2022-10-02 12:07:35
回答 1查看 68关注 0票数 -1

我需要清理一个包含200多万个人及其职业条目的数据库。现在,我研究了一些独特的职业,我遇到了一些我需要清理的东西。例如,在职业列表中,对人力资源员工的描述有以下变化:

代码语言:javascript
复制
HR-employee
HR: employee
HR:Employee
HR - employee 
HR : employee
HR employee

现在,我需要找到一种方法来获取上面描述的所有条目,以获得“人力资源员工”的描述。对其他2000份工作说明也是如此。有没有一种简单的方法可以将所有这些“重复的职务说明”合并成一个职务说明?

EN

回答 1

Stack Overflow用户

发布于 2022-10-02 12:37:54

假设"employee“的变体都在"HR”之前,如您的示例所示,您可以使用str_detectifelse

代码语言:javascript
复制
library(dplyr)
library(stringr)
df %>%
  mutate(job_clean = ifelse(str_detect(job, "(?i)\\bemployee\\b"),
                            "HR Employee",
                            job))
             job       job_clean
1     HR-employee     HR Employee
2    HR: employee     HR Employee
3 ZZ - Unemployed ZZ - Unemployed
4     HR:Employee     HR Employee
5  XY : smth else  XY : smth else
6   HR - employee     HR Employee
7   HR : employee     HR Employee
8     HR employee     HR Employee

请注意,(?i)用于使该匹配不区分大小写,而\\b是一个单词边界标记,用于断言只匹配确切的单词"employee“,而不是例如"employees”。

数据:

代码语言:javascript
复制
df <- data.frame(
  job = c("HR-employee", "HR: employee", "ZZ - Unemployed", "HR:Employee", "XY : smth else", "HR - employee", "HR : employee", "HR employee"))

编辑

如果不仅有"HR“类别ut也有”楼层“类别,那么您可以执行嵌套的操作:

代码语言:javascript
复制
df %>%
  mutate(job_clean = ifelse(str_detect(job, "(?i)hr.*\\bemployee\\b"),"HR Employee",
                            ifelse(str_detect(job, "(?i)floor.*\\bemployee\\b"),"Floor Employee", job)))
               job       job_clean
1      HR-employee     HR Employee
2     HR: employee     HR Employee
3  ZZ - Unemployed ZZ - Unemployed
4      HR:Employee     HR Employee
5   XY : smth else  XY : smth else
6    HR - employee     HR Employee
7    HR : employee     HR Employee
8      HR employee     HR Employee
9   Floor employee  Floor Employee
10  Floor-employee  Floor Employee

数据:

代码语言:javascript
复制
df <- data.frame(
  job = c("HR-employee", "HR: employee", "ZZ - Unemployed", "HR:Employee", "XY : smth else", "HR - employee", "HR : employee", "HR employee",
          "Floor employee", "Floor-employee"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73925681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档