加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python or Java?大数据解读学什么语言最赚钱

发布时间:2018-08-28 19:31:51 所属栏目:教程 来源:徐涛
导读:本文主要用Python爬取拉勾网不同编程语言职位信息,包括:Python岗、Java岗、C++岗、PHP岗、C#岗位(5岗);用R语言对影响薪资的因素进行分析。由于拉勾网的职位信息只显示30页,一页15个职位信息,如果单独爬取一个城市的岗位信息,只有几页是匹配的信息,信

抓取结果如下:

Python or Java?大数据解读学什么语言最赚钱

将抓取结果循环写入csv文件:

Python or Java?大数据解读学什么语言最赚钱

此外还抓取了Java岗、C++岗、PHP岗、C#岗位4岗的信息,代码和抓取Python岗位信息类似。

二、以Python岗位信息为例,分析影响薪资的因素

这里包括数据清洗部分和数据分析部分两部分内容。

数据清洗部分

  1. data<-read.csv("E://Data For R/RData/Py.csv") 
  2. data[sample(1:nrow(data),size=10),] 

Python or Java?大数据解读学什么语言最赚钱

在抓取过程中,由于将python字典循环写入csv文件,因此列名也被循环写在csv文件中。

Python or Java?大数据解读学什么语言最赚钱

考虑本文主要分析影响薪资的因素,这里去除Name和Company两列。

  1. ##去除Name和Company两列 
  2. DATA<-data[,-c(1,2)] 
  3. ##将python字典循环写入csv文件时,标题也会被写入,去除多余的标题 
  4. ##查找哪些行是标题重复的行 
  5. which(DATA$Salary %in% "Salary") 
  6.  [1]  16  32  48  64  80  96 102 118 134 150 166 182 198 214 230 246 262 278 294 310 326 342 358 374 390 406 422 438 454 470 486 502 518 
  7. [34] 534 550 566 
  8. ##去除多余的标题所在的行 
  9. DATA<-DATA[-(which(DATA$Salary %in% "Salary")),] 
  10. dim(DATA) 
  11. [1] 545   4 

1.变量Salary

变量Salary一般都是范围值,用“-”连接,但是不排除有XXK以上,例如10k以上这种表示形式,或者其他形式,这里需要处理一下。

  1. ##如果薪资是一个范围值,都是"-"连接,注意,薪资是一个范围值,匹配末尾结束k值需要注意,有大写K和小写k两种形式。 
  2. newdata<-DATA[grep('-',DATA$Salary),] 
  3. dim(newdata) 
  4. [1] 544   4 
  5. ##对比前面dim(DATA),说明薪水少了一行,Salary具有其他的表示形式。 
  6. ##这里将范围薪水的值分成底薪和高薪两部分,后面取平均值来表示薪水 
  7. library(tidyr) 
  8. library(stringr) 
  9. newdata<-separate(data=newdata,col=Salary,into=c("lowsalary","highsalary"),sep="-") 
  10. ##分别去除后面的k值,注意k有大写和小写两种形式 
  11. newdata$lowsalary<-str_replace(newdata$lowsalary,'k|K',"")##  |表示或的关系 
  12. newdata$highsalary<-str_replace(newdata$highsalary,'k|K',"") 
  13. newdata$lowsalary<-as.numeric(newdata$lowsalary)##转换数据类型 
  14. newdata$highsalary<-as.numeric(newdata$highsalary) 
  15. newdata$salary<-(newdata$lowsalary+newdata$highsalary)/2 
  16. newdadat<-newdata[,-c(1,2)]##去除原有的lowsalary和highsalary 

2.变量Education

  1. ###Education部分 
  2. ##首先将Education中工作经验和学历分开 
  3. newdata<-separate(data = newdata,col=Education,into=c("Experience","Graduate"),sep = '/') 
  4. table(newdata$Experience) 
  5. 经验1-3年     经验1年以下       经验3-5年      经验5-10年        经验不限  经验应届毕业生   
  6.  187               6             261              46              37               7  
  7. table(newdata$Graduate) 
  8.  本科  不限  大专  硕士  
  9.   447    27    63     7  

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读