|NO.Z.00052|——————————|BigDataEnd|——|Hadoop&Python.v16|——|Arithmetic.v16|Pandas数据分析库:JAVA_BBS数据分析师招聘数据分析|]

一、实战-JAVA_BBS数据分析师招聘数据分析
### --- 实战-JAVA_BBS数据分析师招聘数据分析
~~~     分析⽬标

~~~     各城市对数据分析岗位的需求情况
~~~     不同细分领域对数据分析岗的需求情况
~~~     数据分析岗位的薪资状况
~~~     ⼯作经验与薪⽔的关系
~~~     公司都要求什么掌握什么技能
~~~     岗位的学历要求⾼吗
~~~     不同规模的企业对⼯资经验的要求以及提供的薪资⽔平
二、数据加载
### --- 数据加载

import pandas as pd
import numpy as np
job = pd.read_csv('./yanqi2020.csv')
job.drop_duplicates(inplace = True)                                 # 删除重复数据
三、数据清洗
### --- 数据清洗
~~~     过滤⾮数据分析的岗位
~~~     数据分析相应的岗位数量

cond = job["positionName"].str.contains("数据分析")                 # 职位名中含有数据分析字眼的
# 筛选出我们想要的字段,并剔除positionName
job = job[cond]
job.reset_index(inplace=True)                                       # ⾏索引 重置
job
### --- JAVA_BBS爬取下来的薪⽔是⼀个区间,这⾥⽤薪⽔区间的均值作为相应职位的薪⽔

~~~     # 处理过程
~~~     1、将salary中的字符串均⼩写化(因为存在8k-16k和8K-16K)
~~~     2、运⽤正则表达式提取出薪资区间
~~~     3、将提取出来的数字转化为int型
~~~     4、取区间的平均值
job["salary"] = job["salary"].str.lower()\
    .str.extract(r'(\d+)[k]-(\d+)k')\
    .applymap(lambda x:int(x))\
    .mean(axis=1)
### --- 从job_detail中提取出技能要求 将技能分为以下⼏类

~~~     Python
~~~     SQL
~~~     Tableau
~~~     Excel
~~~     SPSS/SAS
~~~     处理⽅式: 如果job_detail中含有上述五类,则赋值为1,不含有则为0

job["job_detail"] = job["job_detail"].str.lower().fillna("")        #将字符串⼩写化,并将缺失值赋值为空字符串
job["Python"] = job["job_detail"].map(lambda x:1 if ('python' in x) else 0)
job["SQL"] = job["job_detail"].map(lambda x:1 if ('sql' in x) or ('hive' inx) else 0)
job["Tableau"] = job["job_detail"].map(lambda x:1 if 'tableau' in x else0)
job["Excel"] = job["job_detail"].map(lambda x:1 if 'excel' in x else 0)
job['SPSS/SAS'] = job['job_detail'].map(lambda x:1 if ('spss' in x) or ('sas' in x) else 0)
### --- 处理⾏业信息
~~~     在⾏业信息中有多个标签,对其进⾏处理,筛选最显著的⾏业标签。
~~~     JAVA_BBS数据分析师职位的数据预处理基本完成,后续使⽤matplotlib进⾏数据可视化分析。

def clean_industry(industry):
    industry = industry.split(",")
    if industry[0]=="移动互联⽹" and len(industry)>1:
        return industry[1]
    else:
        return industry[0]
job["industryField"] = job.industryField.map(clean_industry)

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(20)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示