1、分析目的html
瞭解數據分析這個職位的招聘狀況以及發展前景。python
2、分析維度sql
根據分析目的,主要提出瞭如下三個分析維度:app
一、職位地區分佈python爬蟲
主要對地區進行分組,對各地區職位分佈數量進行對比分析;echarts
二、工資待遇工具
經過對最低薪酬進行描述分析,觀察總體的一個最低工資分佈;學習
三、工做年限要求職業規劃
經過對工做年限進行分組,觀察崗位需求主要分佈在哪幾個年限段,並對工做年限對工資的影響進行了分析,有助於本身從此對職業進行規劃;spa
四、技能要求
主要了解進入該行業所須要必備的技能;
五、學歷要求
瞭解該職位對學歷的最低要求;
六、公司福利待遇
主要分析大部分公司給與的福利有哪些,共同點是什麼。
3、分析工具
這裏主要想熟悉python的使用,因此主要使用了python中的pandas包、以及matplotlib。
4、數據清洗
一、數據集描述
數據集名稱:拉勾網數據分析招聘狀況
數據集來源:經過八爪魚爬取拉勾網數據分析招聘數據(對於python爬蟲還不太熟悉)
數據集量:431*9
二、添加列
2.一、添加最高工資(high_salary)列和最低工資(low_salary)列;
因爲須要分析最低工資狀況,而數據表中是按範圍給出的(圖a),所以須要將工資範圍拆分爲最高工資(high_salary)和最低工資(low_salary)(圖b)。
2.二、添加地區(location)列
數據表中的地區是按每一個區域的詳細信息給出的(圖a),而我只須要分析整個區域的狀況,所以須要將區域信息中的詳細信息去掉,添加location列(圖b)。
圖a
圖b
三、處理’工做年限’列中多餘字符
將’工做年限一列中的’經驗’(圖a)去掉(圖b)。
四、處理缺失值
通過檢查未出現缺失值。
五、處理重複值
未出現重複記錄
5、數據分析
一、對職位的地區分佈進行分析:
經過以上分析能夠看出:北京和上海對數據分析崗位需求較大,其次就是廣州、深圳、杭州了,若是對地區沒有特別要求的話,仍是很建議去北京上海等地區發展的。
二、對工資待遇進行分析
因爲獲取的數據是一個最低到最高工資的區間,因此本文只對最低工資進行了分析;
從上表能夠看到最低工資是1000(實習生),最高工資是65000,平均工資在13k-22k,因此說該職業的薪資狀況仍是很可觀的。
三、工做年限要求
經過分析能夠看出:公司對該職位的工做年限要求主要集中在1-5年,3-5年的需求最多,其次是具備1-3年工做經驗的,對於一年如下工做經驗的需求量不多,5年以上需求基本上就呈現降低趨勢了,基本上不須要十年以上工做經驗的員工;因此打算入行的須要作好本身的職業規劃,在工做中積累經驗。
另外,還分析了薪資隨着工做年限的變化狀況,因爲獲取的數據是一個最低到最高工資的區間,因此只對最低工資進行了分析;以下:
由此看出:在10年內,工資不管是從最低工資、最高工資仍是平均工資來看,工資水平都是隨着工做年限的增長而上漲的,並且上升的幅度很大;由此可知,工做經驗很是重要,因此,要作好規劃,努力積累經驗,至少在十年內,獲得的回報是很可觀的。
四、技能要求
利用wordart進行分詞處理,生成了詞雲圖以下:
從詞雲圖能夠看出,進入該行業須要學習的技能有不少,主要共同點就是須要具有統計學、excel、python/R、MySQL(sql)等知識,固然了,這些都只是工具,最重要的是數據分析的思惟以及與業務知識的結合,這些都是須要在工做中不斷培養的。
五、學歷要求
這部分主要想分析哪些學歷對該職位來講比較吃香,以下圖:
很明顯,大多數公司都要求有本科學歷,對於大專和學歷不限的需求量不多,僅從上圖來看,仍是有一部分公司對學歷的要求是很高的,由此能夠看出,該職業對於學從來說,門檻仍是相對比較低的。
六、公司福利待遇
這部分依然是採用了詞雲圖的方式來展現公司的福利構成;詞雲圖以下所示:
能夠看出,公司的共同點基本上是五險一金、帶薪年假、週末雙休等,其實從目前全部行業來看,五險一金基本上都是有的,只不過很難找到雙休的工做,因此說,從福利來看,若是是更傾向於雙休的人士,進入該行業的選擇仍是沒錯的,至少從以上分析來看,週末雙休的工做仍是很多的。
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()
原文出處:https://www.cnblogs.com/liuxiaomin/p/liuxiaomin.html