一、分析目的
了解數據分析這個職位的招聘情況以及發展前景。
二、分析維度
根據分析目的,主要提出了以下三個分析維度:
1、職位地區分布
主要對地區進行分組,對各地區職位分布數量進行對比分析;
2、工資待遇
通過對最低薪酬進行描述分析,觀察整體的一個最低工資分布;
3、工作年限要求
通過對工作年限進行分組,觀察崗位需求主要分布在哪幾個年限段,並對工作年限對工資的影響進行了分析,有助於自己今后對職業進行規划;
4、技能要求
主要了解進入該行業所需要必備的技能;
5、學歷要求
了解該職位對學歷的最低要求;
6、公司福利待遇
主要分析大部分公司給與的福利有哪些,共同點是什么。
三、分析工具
這里主要想熟悉python的使用,所以主要使用了python中的pandas包、以及matplotlib。
四、數據清洗
1、數據集描述
數據集名稱:拉勾網數據分析招聘情況
數據集來源:通過八爪魚爬取拉勾網數據分析招聘數據(對於python爬蟲還不太熟悉)
數據集量:431*9
2、添加列
2.1、添加最高工資(high_salary)列和最低工資(low_salary)列;
由於需要分析最低工資情況,而數據表中是按范圍給出的(圖a),因此需要將工資范圍拆分為最高工資(high_salary)和最低工資(low_salary)(圖b)。
2.2、添加地區(location)列
數據表中的地區是按每個區域的詳細信息給出的(圖a),而我只需要分析整個區域的情況,因此需要將區域信息中的詳細信息去掉,添加location列(圖b)。
圖a
圖b
3、處理’工作年限’列中多余字符
將’工作年限一列中的’經驗’(圖a)去掉(圖b)。
4、處理缺失值
經過檢查未出現缺失值。
5、處理重復值
未出現重復記錄
五、數據分析
1、對職位的地區分布進行分析:
通過以上分析可以看出:北京和上海對數據分析崗位需求較大,其次就是廣州、深圳、杭州了,如果對地區沒有特別要求的話,還是很建議去北京上海等地區發展的。
2、對工資待遇進行分析
由於獲取的數據是一個最低到最高工資的區間,所以本文只對最低工資進行了分析;
從上表可以看到最低工資是1000(實習生),最高工資是65000,平均工資在13k-22k,所以說該職業的薪資情況還是很可觀的。
3、工作年限要求
通過分析可以看出:公司對該職位的工作年限要求主要集中在1-5年,3-5年的需求最多,其次是具有1-3年工作經驗的,對於一年以下工作經驗的需求量很少,5年以上需求基本上就呈現下降趨勢了,基本上不需要十年以上工作經驗的員工;所以打算入行的需要做好自己的職業規划,在工作中積累經驗。
另外,還分析了薪資隨着工作年限的變化情況,由於獲取的數據是一個最低到最高工資的區間,所以只對最低工資進行了分析;如下:
由此看出:在10年內,工資無論是從最低工資、最高工資還是平均工資來看,工資水平都是隨着工作年限的增加而上漲的,而且上升的幅度很大;由此可知,工作經驗非常重要,所以,要做好規划,努力積累經驗,至少在十年內,得到的回報是很可觀的。
4、技能要求
利用wordart進行分詞處理,生成了詞雲圖如下:
從詞雲圖可以看出,進入該行業需要學習的技能有很多,主要共同點就是需要具備統計學、excel、python/R、MySQL(sql)等知識,當然了,這些都只是工具,最重要的是數據分析的思維以及與業務知識的結合,這些都是需要在工作中不斷培養的。
5、學歷要求
這部分主要想分析哪些學歷對該職位來說比較吃香,如下圖:
很明顯,大多數公司都要求有本科學歷,對於大專和學歷不限的需求量很少,僅從上圖來看,還是有一部分公司對學歷的要求是很高的,由此可以看出,該職業對於學歷來說,門檻還是相對比較低的。
6、公司福利待遇
這部分依然是采用了詞雲圖的方式來展示公司的福利構成;詞雲圖如下所示:
可以看出,公司的共同點基本上是五險一金、帶薪年假、周末雙休等,其實從目前所有行業來看,五險一金基本上都是有的,只不過很難找到雙休的工作,所以說,從福利來看,如果是更傾向於雙休的人士,進入該行業的選擇還是沒錯的,至少從以上分析來看,周末雙休的工作還是不少的。
六、結論
通過以上幾個方面的分析,大致可以得出以下幾點:
(1)數據分析這個行業發展前景是很不錯的,薪資水平也相對較高;
(2)就目前分布的區域來看,北上廣地區相對來說發展機會多一些;
(3)從入行門檻來看,大部分公司都要求本科學歷;
(4)從公司要求來看,除了一些硬性的技能要求外,工作經驗也尤為重要;
(5)從各公司福利來看,各公司福利都大同小異。
最后說明一下:本文數據來源於拉勾網,所以大多數是針對的互聯網行業,所以分析的不是很全面;另外,由於本人想借此熟悉python相關知識,所以利用的是python相關知識進行分析,但是該數據量很小,完全可以用excel進行分析,還有就是想繪出的圖表美觀最好使用其他繪圖工具,比如pyecharts、tableau以及excel等相關工具。
還有就是想轉行的朋友,也包括自己啦,要堅定信心哦,不要半途而廢!
import pandas as pd from matplotlib import pyplot as plt from matplotlib import font_manager df = pd.read_excel('C:/Users/Administrator/Desktop/拉勾網數據分析招聘情況(最新).xlsx') salary_low = [] salary_high = [] for i in range(0,len(df)): df1 = df.iloc[i]['工資待遇'].split('-') salary_low .append(df1[0]) salary_high.append(df1[1]) # print(salary_low) # print(salary_high) df['salary_low'] = salary_low df['salary_high'] = salary_high # 將工資中的看轉化為'000',才能轉化為int類型 df['salary_low'] = df['salary_low'].str.replace('k','000') df['salary_high'] = df['salary_high'].str.replace('k','000') # 將工資列轉換為int類型 # df['salary_low'].astype(np.int16) # print(df['salary_high']) # df['salary_high'].astype(np.int64) #方法1 df['salary_low'] = df['salary_low'].astype('i8') #方法2 df['salary_high'] = df['salary_high'].astype('i8') df""" # 將工作地點進行拆分,只對市進行分組 # location = [] # for j in range(0,len(df)): # location1 = df.iloc[j]['工作地點'].split('·') # location.append(location1[0]) # df.insert(2,'location',location) df # 這里把經驗不限和應屆畢業生改為1年以下 # df['工作年限'] = df['工作年限'].str.replace('經驗','') #df['工作年限'] = df['工作年限'].str.replace('不限','1年以下') # df['工作年限'] = df['工作年限'].str.replace('應屆畢業生','1年以下') # 查看概況 df.info() # 查看是否重復 df.duplicated() # 刪除重復值 df.drop_duplicates() df.shape # 對地區進行一個分組 group_by_location=df.groupby('location')[‘職位名稱’].count().sort_values(ascending = False) my_font=font_manager.FontProperties(fname='C:/Windows/Fonts/msyh.ttf',size = 10) group_by_location.plot(kind = 'bar',title = '崗位分布',label = '個數',alpha = 0.4,rot = 45) plt.title('各地區職位分布',fontproperties = my_font) plt.legend(prop = my_font,loc = 'upper right') plt.xticks(fontproperties = my_font) plt.xlabel('區域名稱',fontproperties = my_font) plt.savefig('./picture1.png') plt.show() # 查看下工資的大概情況 df.describe() <代碼> # 工作年限要求 df.groupby('工作年限')['公司名稱'].count().sort_values(ascending = False).plot(kind = 'bar',alpha = 0.4,rot = 0) # 對中文標簽進行處理 plt.xlabel('工作年限',fontproperties = my_font) plt.ylabel('職位個數',fontproperties = my_font) plt.xticks(fontproperties = my_font) plt.title('各年限職位分布情況',fontproperties = my_font) plt.savefig('./picture2') plt.show() # 工作經驗與最低薪水之間的相關性 y1 = df.groupby('工作年限')['salary_low'].agg([('最低薪水','min'), ('平均薪水','mean'), ('最高薪水','max')]).sort_values(by = '平均薪水') y1.plot.bar(alpha = 0.4,rot = 0) plt.xticks(fontproperties = my_font) plt.xlabel('工作年限',fontproperties = my_font) plt.ylabel('工資水平',fontproperties = my_font) plt.title('薪水隨年限分布情況',fontproperties = my_font) plt.legend(loc = 'upper right',prop = my_font) # 調整縱坐標刻度范圍 plt.ylim(ymax = 50000) plt.savefig('./picture3') plt.show() df.groupby('學歷要求')['公司名稱'].count().plot.bar(alpha = 0.4,rot = 0) plt.xticks(fontproperties = my_font) plt.xlabel('學歷',fontproperties = my_font) plt.ylabel('職位數量',fontproperties = my_font) plt.title('不同學歷職位需求情況',fontproperties = my_font) plt.savefig('./picture5') plt.show()