簡介:試著,做了一個(gè)拉勾網(wǎng)數(shù)據(jù)分析師職位的數(shù)據(jù)分析舆声。
其實(shí)花沉,雖然很想做數(shù)據(jù)分析師,但是是跨行纳寂,心里相當(dāng)忐忑主穗,做這個(gè)分析就相當(dāng)于加深自己對(duì)數(shù)據(jù)分析這個(gè)行業(yè)的了解了。
思路
起始
數(shù)據(jù)來源
本來是想自己寫個(gè)爬蟲的毙芜,可是學(xué)了好久忽媒,還是不能融會(huì)貫通,總會(huì)出一些bug腋粥,只能繼續(xù)學(xué)習(xí)晦雨,爭取早日修成爬神功。又想著隘冲,總不能還沒開始闹瞧,就結(jié)束了這次實(shí)驗(yàn)。最后無意中發(fā)現(xiàn)了一個(gè)爬蟲工具--八爪魚展辞、奥邮、只需要點(diǎn)點(diǎn)點(diǎn)(其實(shí),當(dāng)時(shí)有種挫敗感)罗珍。不過洽腺,總算數(shù)據(jù)總算有了。
數(shù)據(jù)的采集
數(shù)據(jù)的具體采集過程如下:
- 下載安裝八爪魚采集器覆旱。
- 創(chuàng)建任務(wù)蘸朋,選擇列表及詳情。
- 輸入任務(wù)名稱扣唱、備注藕坯。
- 輸入采集網(wǎng)址
- 設(shè)置詳情頁鏈接团南,也就是點(diǎn)進(jìn)具體的詳情頁。
- 設(shè)置好翻頁炼彪。
- 點(diǎn)擊需要采集的數(shù)據(jù)信息吐根。
- 開始采集。
- 數(shù)據(jù)導(dǎo)出為excel辐马。
過程
數(shù)據(jù)的清洗與處理
這里試著用了兩種工具佑惠,Excel + Python,也比較了一下二者的優(yōu)點(diǎn)齐疙。與前人所述基本一致膜楷,紙上得來終覺淺啊。
想說一下字段的命名贞奋,如果用了Python進(jìn)行處理的話赌厅,最好還是把字段命名為英文,或者說字母轿塔√卦福可以簡化后期處理,會(huì)方便很多勾缭。
當(dāng)然揍障,你如果全用Excel是用中文命名,也是沒有問題的俩由。
Excel的處理過程
預(yù)防萬一
所謂預(yù)防萬一毒嫡,就是將Excel另存一份源數(shù)據(jù),以免后期發(fā)生不可預(yù)知錯(cuò)誤幻梯。
清洗與處理
命名字段
處理salary列
新建工作表兜畸,將salary字段復(fù)制過來。
- 清除所有格式碘梢。
- 數(shù)據(jù)-分列-固定符號(hào)-"-"
- 查找替換 k咬摇。這里說明下,清除格式后煞躬,無論查找大寫K還是小寫k肛鹏,均可。
-
因?yàn)樽ト〉臄?shù)據(jù)是一組區(qū)間值恩沛,無法直接使用在扰,因此取薪資的中間值也就是平均值。使用函數(shù) 'MEDIAN' 复唤,它會(huì)返回一組數(shù)的中值健田,或者使用 'AVERAGE' 也可烛卧。得到的值如下:
- 再對(duì)這組值進(jìn)行數(shù)據(jù)分析佛纫,數(shù)據(jù)-數(shù)據(jù)分析-描述統(tǒng)計(jì)妓局,得到最大值,最小值呈宇,全距好爬,再根據(jù)公式計(jì)算組數(shù),組距甥啄,進(jìn)行數(shù)據(jù)分組存炮,再根據(jù) ' FREQUENCY '函數(shù)計(jì)算每組頻率。
接下來蜈漓,就可以繪制圖表了穆桂。
ps:或者直接在第5步,采用數(shù)據(jù)分析工具中的直方圖融虽,進(jìn)行分析享完。
處理experience、city有额、education般又、property、scale列
新建工作表巍佑,復(fù)制茴迁。
- 清除所有格式。
- 使用函數(shù) 'SUBSTITUTE' 替換所有 "/"萤衰,或者直接查找替換堕义。
- 數(shù)據(jù)透視表統(tǒng)計(jì),繪圖脆栋。
處理field列
新建工作表胳螟,復(fù)制。
- 清除所有格式
- 查找替換"筹吐、",","為半角“糖耸,”。
- 分列丘薛。
這樣嘉竟,基本就處理完了。
數(shù)據(jù)展示
行業(yè)及職位數(shù)量
從圖中可以看出洋侨,17個(gè)行業(yè)中舍扰,移動(dòng)互聯(lián)網(wǎng)對(duì)數(shù)據(jù)人才的需求量是最大的,其次是金融和電子商務(wù)希坚,而生物服務(wù)边苹、文化娛樂、旅游裁僧、分類信息个束、硬件等的需求量最少慕购。我認(rèn)為,這從一個(gè)側(cè)面反映了移動(dòng)互聯(lián)網(wǎng)數(shù)據(jù)量的巨大茬底,以及對(duì)人才的渴求沪悲。
城市與職位
首先看一下,職位主要分布的區(qū)域:
從圖中可以看到阱表,招聘公司主要位于南方殿如,東三省竟然沒有。我認(rèn)為最爬,這個(gè)時(shí)代涉馁,對(duì)數(shù)據(jù)的重視程度從某種程度上說明了發(fā)展的質(zhì)量,就這個(gè)樣本數(shù)據(jù)來說爱致,從某種程度上反映了東三省的發(fā)展速度較慢谨胞,不如南方。
再看一下蒜鸡,城市與職位:
這里主要截取了前10個(gè)城市胯努,毫無意外,北上廣赫然在列逢防,杭州也很多叶沛,排在廣州前面⊥看來灰署,我們這些想做數(shù)據(jù)分析師的人,都無法逃離北上廣啊局嘁。嗯溉箕,你也可以去杭州,據(jù)在那兒生活了七八年的同學(xué)來說悦昵,他不想走了肴茄。
行業(yè)、城市與薪資
前面數(shù)據(jù)處理得到了每個(gè)職位的平均薪資但指,這里進(jìn)一步處理得到了每個(gè)行業(yè)在每個(gè)城市的平均薪資寡痰。下圖是招聘最多的幾個(gè)行業(yè)在每個(gè)城市的平均薪資。
從圖中可以知道棋凳,整體上相對(duì)來說拦坠,廣州在這些行業(yè)中屬于較低的。北京剩岳、上海差距不是太大贞滨。
招聘公司融資階段
招聘不同職稱的數(shù)量
這里借助python進(jìn)行了統(tǒng)計(jì):
python
import pandas as pd
data = pd.DataFrame(pd.read_csv(r'C:\Users\sunshine\Desktop\2017.8.20.csv',encoding = 'gbk'))
data.columns
positionName = []
for i in range(len(data.position)):
if "實(shí)習(xí)" in data.position[i]:
positionName.append("實(shí)習(xí)")
elif "助理" in data.position[i]:
positionName.append("助理")
elif "專員" in data.position[i]:
positionName.append("專員")
elif "主管" in data.position[i]:
positionName.append("主管")
elif "經(jīng)理" in data.position[i]:
positionName.append("經(jīng)理")
elif "工程師" in data.position[i]:
positionName.append("工程師")
elif "總監(jiān)" in data.position[i]:
positionName.append("總監(jiān)")
elif "科學(xué)家" in data.position[i]:
positionName.append("科學(xué)家")
elif "架構(gòu)" in data.position[i]:
positionName.append("架構(gòu)師")
else:
positionName.append("其他")
data["positionName1"] = positionName
data["positionName1"].value_counts()
這里沒有用matplotlib畫,借用了echarts拍棕。
招聘公司對(duì)個(gè)人能力的要求
招聘公司對(duì)應(yīng)聘者的學(xué)歷要求
從圖中我們很明顯可以得到晓铆,公司對(duì)應(yīng)聘者的學(xué)歷要求勺良,本科以上占了絕大部分,這說明尤蒿,90%以上的公司對(duì)應(yīng)聘者的學(xué)歷要求很高,我認(rèn)為幅垮,這可能有以下原因:
- 分析行業(yè)對(duì)應(yīng)聘者的知識(shí)水平要求還是很高的腰池,因?yàn)閿?shù)據(jù)分析師不但要涉及很多高等數(shù)學(xué),統(tǒng)計(jì)學(xué)忙芒,概率論示弓,線性代數(shù)等數(shù)學(xué)知識(shí),還要涉及很多行業(yè)知識(shí)呵萨。
- 這個(gè)行業(yè)需要應(yīng)對(duì)很多日新月異的信息奏属,各種東西更新迭代非常快潮峦,因此對(duì)應(yīng)聘者的自學(xué)能力提出了很高的要求囱皿。
招聘公司對(duì)應(yīng)聘者經(jīng)驗(yàn)的要求
大部分公司招的都是1-5年的,1年之下和經(jīng)驗(yàn)不限的很少忱嘹,所以說嘱腥,實(shí)習(xí)經(jīng)驗(yàn)很重要,沒有實(shí)習(xí)經(jīng)歷拘悦,太難入行了齿兔。我淚奔。公司需要的都是老鳥啊础米。
招聘公司對(duì)應(yīng)聘者工具掌握的要求
這里使用了python進(jìn)行了正則匹配分苇,和詞云生成。
python
import re
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import jieba as jb
from wordcloud import WordCloud
#轉(zhuǎn)換數(shù)據(jù)格式
word_str = ''.join(data['description'])
#對(duì)文本進(jìn)行分詞
word_split = jb.cut(word_str)
#使用|分割結(jié)果并轉(zhuǎn)換格式
word_split1 = "| ".join(word_split)
#設(shè)置要匹配的關(guān)鍵詞
pattern=re.compile('sql|mysql|posgresql|python|excel|spss|matlab|ppt|powerpoint|sas|[\br\b]|hadoop|spark|hive|ga|java|perl|tableau|eviews|presto')
#匹配所有文本字符
word_w=pattern.findall(word_split1)
word_s = str(word_w)
my_wordcloud = WordCloud().generate(word_s)
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
有點(diǎn)丑...
因此屁桑,換了個(gè)工具.....
好看點(diǎn)了医寿,無論哪張圖都說明,除了excel蘑斧,如果糟红,你懂R或者python,再加上SQL乌叶,和spss盆偿,喔,你是個(gè)香餑餑准浴。
招聘公司對(duì)應(yīng)聘者技能的要求
可以看到事扭,公司對(duì)應(yīng)聘者的要求大部分在數(shù)據(jù)分析能力和產(chǎn)品、業(yè)務(wù)等方面乐横∏箝希看來今野,數(shù)據(jù)分析師最重要的還是懂業(yè)務(wù),這也是我想發(fā)展的方向罐农。至于數(shù)據(jù)挖掘方向条霜,對(duì)數(shù)學(xué)功底要求太高了,畢竟我不是科班出身涵亏。但是宰睡,我覺得平時(shí)在實(shí)驗(yàn)室做的實(shí)驗(yàn),其實(shí)和業(yè)務(wù)是一個(gè)道理气筋。只不過拆内,是將實(shí)驗(yàn)換成了產(chǎn)品。
總結(jié)
對(duì)于數(shù)據(jù)分析崗宠默,招聘公司主要位于南方麸恍,但是以北京公司最多。不需要融資搀矫,B輪和上市公司對(duì)于該崗位的需求較大抹沪。并且主要是移動(dòng)互聯(lián)網(wǎng)行業(yè)的公司。企業(yè)對(duì)于應(yīng)聘者的工具掌握多是Excel瓤球,Spss采够,Python,R冰垄,SQl等蹬癌,如果你全會(huì),那基本就是個(gè)香餑餑虹茶。在技能方面逝薪,企業(yè)比較看重?cái)?shù)據(jù)分析,以及對(duì)業(yè)務(wù)蝴罪、運(yùn)營的理解董济。而對(duì)于應(yīng)聘者而言,本科生學(xué)歷完全足夠了要门。就薪資而言虏肾,廣州多有行業(yè)較其他城市偏低,北京和上海在同等工作經(jīng)歷下欢搜,薪資要領(lǐng)先于其他城市封豪。