日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据分析岗位需求分析报告

發(fā)布時間:2023/12/9 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据分析岗位需求分析报告 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.前言

2.用到的工具

3.網(wǎng)頁結(jié)構(gòu)分析

4.數(shù)據(jù)預(yù)處理

5.數(shù)據(jù)分析崗位分布情況

5.1公司的城市分布

5.2公司的融資情況?

5.3崗位福利狀況?

??6.數(shù)據(jù)分析崗位的發(fā)展?fàn)顩r

6.1各城市平均薪資待遇

6.2不同融資階段平均工資待遇

7.數(shù)據(jù)分析師崗位招聘要求

7.1統(tǒng)計(jì)量描述?

7.2學(xué)歷與職位需求

7.3學(xué)歷水平與工資

7.4工作經(jīng)驗(yàn)與職位需求

7.5工作經(jīng)驗(yàn)與工資

8.附錄(詳細(xì)代碼):

8.1數(shù)據(jù)特征部分代碼

8.2數(shù)據(jù)預(yù)處理部分代碼?

8.3繪制詞云圖

8.4數(shù)據(jù)分析崗位要求部分代碼

8.5拉勾網(wǎng)數(shù)據(jù)爬取部分代碼

1.前言

"大數(shù)據(jù)",這個字眼是近幾年比較火的一個名詞,數(shù)據(jù)的價值正在各行各業(yè)發(fā)揮著越來越大的價值,銷售行業(yè)通過銷售數(shù)據(jù)的分析,對客戶行為的畫像(給客戶貼標(biāo)簽),指定相應(yīng)的銷售策略提高銷售業(yè)績;以淘寶、京東商城等為代表的電商平臺通過客戶的購買行為,自動推薦符合客戶"需求"的產(chǎn)品;以信貸公司、銀行業(yè)等為主的金融公司通過分析客戶的信用評估,對客戶進(jìn)行分級"打分",優(yōu)先放款給"優(yōu)質(zhì)客戶",等等。似乎,正在以一種偶像般的存在,影響著每一個人、每一個行業(yè),鼓動著每一個"蠢蠢欲動"的人。然而,大多數(shù)的時候這個名詞都被人誤解或者過分渲染了。"管它黑貓白貓,能抓住老鼠的都是好貓",換句話說:管它是大數(shù)據(jù)還是一般數(shù)據(jù),能支持經(jīng)營管理決策的都是好數(shù)據(jù)。所以,從企業(yè)自身而言,首要任務(wù)是充分利用自身數(shù)據(jù),推動經(jīng)營決策。而對于個人,應(yīng)該充分結(jié)合實(shí)際情況,認(rèn)真做好自己的職業(yè)規(guī)劃,而不是盲目跟風(fēng)。結(jié)合自身的優(yōu)勢,忠于企業(yè)和個人,盡最大限度的發(fā)揮自身價值為企業(yè)和社會貢獻(xiàn)出自己的一份力量。

本文筆者以一名正在轉(zhuǎn)行路上的身份,爬取了拉勾網(wǎng)數(shù)據(jù)分析職位的前100頁,共計(jì)1500條的招聘信息,通過數(shù)據(jù)挖掘,統(tǒng)計(jì)建模等方法,對數(shù)據(jù)分析職位特點(diǎn)及現(xiàn)狀做一個分析。

2.用到的工具

Spyder3.6

requests: 下載網(wǎng)頁

pandas:數(shù)據(jù)分析庫

numpy:數(shù)組操作

matplotlib:繪圖

wordcloud、jieba:生成中文詞云

rcParams:使繪圖能顯示中文字體

3.網(wǎng)頁結(jié)構(gòu)分析

打開搜狗高速瀏覽器,在拉勾網(wǎng)首頁搜索的“數(shù)據(jù)分析”職位,鼠標(biāo)右擊查看網(wǎng)頁源文件,通過搜索相關(guān)關(guān)鍵字可以發(fā)現(xiàn), 職位信息并不在源代碼里。進(jìn)一步抓包分析,點(diǎn)擊審查元素(快捷鍵F12),可以發(fā)現(xiàn)職位信息隱藏于JSON的文件里,結(jié)合數(shù)據(jù)格式,我們選擇用字典方法直接讀取數(shù)據(jù)。


運(yùn)行程序得到如下數(shù)據(jù):(代碼見附錄)
因?yàn)槲募莄sv格式文件,建議用notepad或者WPS打開(直接用office Excel不支持會出現(xiàn)亂碼)

4.數(shù)據(jù)預(yù)處理

為了保證后續(xù)分析的正常進(jìn)行,需要對數(shù)據(jù)進(jìn)行預(yù)處理。觀看數(shù)據(jù)可以得出如下操作步驟:
(1).數(shù)據(jù)分析職位中可能存在"實(shí)習(xí)生崗位",需要對其進(jìn)行剔除。
(2).表中的"工作經(jīng)驗(yàn)"屬于范圍值,在此對其進(jìn)行平均化處理。
(3).表中的"工資"也屬于范圍,在此也對其進(jìn)行平均化處理,取中間值。
(4).刪除冗余列,保存到新的表格。
處理后得到如下數(shù)據(jù)表:(代碼見附錄)

5.數(shù)據(jù)分析崗位分布情況

5.1公司的城市分布

由下圖可以看出:北京數(shù)據(jù)分析師崗位需求占據(jù)了47.2%,上海地區(qū)21.9%,杭州地區(qū)9.6%,深圳地區(qū)8.6%,廣州地區(qū),南京地區(qū)等地區(qū)的崗位需=需求量緊隨其后,基本上主要集中在一線城市和強(qiáng)二線城市中。


5.2公司的融資情況?

下圖中可以看出,在招聘公司中:不需要融資的公司、上市公司、C輪融資階段的公司對數(shù)據(jù)分析師的崗位需求量最大,A輪、D輪、B輪、未融資等階段的公司緊隨其后。說明發(fā)展相對成熟,穩(wěn)健的公司有更大可能性需要數(shù)據(jù)分析崗位的人才。

5.3崗位福利狀況?

針對爬取的拉勾網(wǎng)數(shù)據(jù)的職位福利,,進(jìn)行jieba分詞,并制作詞云。出現(xiàn)頻率最高的依次是:彈性工作、發(fā)展空間、氛圍、工資等,從圖中詞頻的頻率可以看出,招聘崗位更注重職位的發(fā)展與員工的體驗(yàn),其次是工資水平與各類獎金。

?
6.數(shù)據(jù)分析崗位的發(fā)展?fàn)顩r

6.1各城市平均薪資待遇

從圖中可以看出各城市平均工資最高的是北京20.1469,其次上海、杭州、深圳、廣州、南京、緊隨其后,其中長春的平均工資值得商榷,因?yàn)閺纳蠑?shù)據(jù)分析師崗位需求上來看,長春的數(shù)據(jù)分析師需求量非常小。在此處作為異常值處理。

6.2不同融資階段平均工資待遇

由下圖可以看出,不同融資階段公司對數(shù)據(jù)分析師給出的平均薪資略有不同,D輪、C輪、B輪、上市公司平均工資相對較大y一些。

7.數(shù)據(jù)分析師崗位招聘要求

7.1統(tǒng)計(jì)量描述?

count ? ?1469.000000
mean ? ? ? ?3.167461
std ? ? ? ? 1.909803
min ? ? ? ? 0.000000
25% ? ? ? ? 2.000000
50% ? ? ? ? 4.000000
75% ? ? ? ? 4.000000
max ? ? ? ? 7.500000
工作年限平均值為3.167年,中位數(shù)是4年,大致可以說明企業(yè)要求有一定工作經(jīng)驗(yàn)的占據(jù)多數(shù)。
mean ? ? ? 17.497958
std ? ? ? ? 8.431887
min ? ? ? ? 1.500000
25% ? ? ? ?11.500000
50% ? ? ? ?15.000000
75% ? ? ? ?22.500000
max ? ? ? ?80.000000
平均工作為8.431k,中位數(shù)為15k,大致可以看出,地區(qū)間存在兩級分化比較嚴(yán)重,崗位偏集中,工資偏兩極。下面作進(jìn)一步分析。

7.2學(xué)歷與職位需求

由下圖比例可以看出,招聘單位85.7%要求入門是本科學(xué)歷,本科學(xué)歷數(shù)據(jù)分析崗市場需求量第一,大專學(xué)歷7.3%排名第二,相應(yīng)的碩士學(xué)歷反而要求不高。也從間接的方面看出,公司可能更看重數(shù)據(jù)分析的經(jīng)驗(yàn)?zāi)芰Α?/p>

7.3學(xué)歷水平與工資

可以看出,數(shù)據(jù)分析師崗位學(xué)歷水平與平均薪資成正比關(guān)系,學(xué)歷越高,工資越高,碩士工資20k左右,本科平均工資17.5k左右,相差不大,但是大專學(xué)歷平均工資卻只有10k左右。差距較為明顯。平時好好學(xué)習(xí)還是有一定好處的(哈哈)。

7.4工作經(jīng)驗(yàn)與職位需求

表中可以看出工作經(jīng)驗(yàn)與職位需求成正比關(guān)系。3-5年和1-3年的數(shù)據(jù)分析師崗位需求量最大,前者占比43.6%,后者占比35.1%,說明數(shù)據(jù)分析崗位更看重數(shù)據(jù)分析經(jīng)驗(yàn)。企業(yè)所需培養(yǎng)的成本相對較小,所以企業(yè)更愿意招攬此類人才。相對應(yīng)的,經(jīng)驗(yàn)過少和5-10年的工作者是兩個極端,無工作經(jīng)驗(yàn)或者1年以下的求職者培養(yǎng)起來需要更大的成本。后者則需要更大的招聘成本。

?

7.5工作經(jīng)驗(yàn)與工資

由下圖可看出:工作經(jīng)驗(yàn)與平均工資水平成正比,相關(guān)工作年限越長,平均工資也越高。

?

8.附錄(詳細(xì)代碼):

8.1數(shù)據(jù)特征部分代碼

import pandas as pd import matplotlib.pyplot as plt # 讀取數(shù)據(jù) df = pd.read_csv('D:/baogao/lagou_data2.csv', encoding = 'utf-8') #讀取數(shù)據(jù),編碼處理 #1.統(tǒng)計(jì)量描述 fb=df['經(jīng)驗(yàn)'].describe() fb2=df['平均工資'].describe() print(fb,fb2) #輸出統(tǒng)計(jì)量 plt.rcParams['font.sans-serif']=['SimHri'] #用來正常顯示中文標(biāo)簽 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] ## 指定默認(rèn)字體:解決plot不能顯示中文問題 #2.繪制城市分布的餅圖(取前10) count = df['城市'].value_counts() count=count[0:10] #取序列前10的城市繪制餅圖 plt.pie(count, labels = count.keys() ,labeldistance=1.4,autopct='%2.1f%%') plt.axis('equal') # 使餅圖為正圓形 plt.legend(loc='upper left', bbox_to_anchor=(-0.1, 1)) #添加圖例,并設(shè)置圖例位置 plt.savefig('location.jpg') plt.show() #2.繪制城市分布的柱狀圖,柱狀圖繪制前15名 count1 = df['城市'].value_counts() count1=count1[0:15] #取序列前15的城市繪制柱狀圖 plt.bar(count1.keys(),count1) plt.savefig('城市柱狀圖15名.jpg') plt.show() #3.繪制融資階段柱狀圖 count2 = df['融資階段'].value_counts() plt.bar(count2.keys(),count2) plt.savefig('融資階段分布.jpg') plt.show() #4.繪制學(xué)歷與職位需求的關(guān)系 count3 = df['學(xué)歷要求'].value_counts() plt.pie(count3, labels = count3.keys() ,labeldistance=1.4,autopct='%2.1f%%') plt.axis('equal') # 使餅圖壓縮為正圓形 plt.legend(loc='upper left', bbox_to_anchor=(-0.1, 1)) #添加圖例,并設(shè)置圖例位置 plt.savefig('學(xué)歷與職位需求關(guān)系.jpg') plt.show() #5.繪制工作經(jīng)驗(yàn)與職位需求的柱狀圖 count4 = df['工作經(jīng)驗(yàn)'].value_counts() plt.bar(count4.keys(),count4) plt.savefig('工作經(jīng)驗(yàn)與職位需求.jpg') plt.show()

8.2數(shù)據(jù)預(yù)處理部分代碼?

#數(shù)據(jù)預(yù)處理 import pandas as pd # 讀取數(shù)據(jù) df = pd.read_csv('D:/baogao/lagou_data.csv', encoding = 'utf-8') # 數(shù)據(jù)清洗,剔除實(shí)習(xí)崗位 df.drop(df[df['職位名稱'].str.contains('實(shí)習(xí)')].index, inplace=True) # 正則表達(dá)式將csv文件字符串轉(zhuǎn)化為列表,再取區(qū)間的均值 pattern = '\d+' df['工作年限'] = df['工作經(jīng)驗(yàn)'].str.findall(pattern) avg_work_year = [] for i in df['工作年限']: # 如果工作經(jīng)驗(yàn)為'不限'或'應(yīng)屆畢業(yè)生',那么匹配值為空,工作年限為0 if len(i) == 0: avg_work_year.append(0) # 如果匹配值為一個數(shù)值,那么返回該數(shù)值 elif len(i) == 1: avg_work_year.append(int(''.join(i))) # 如果匹配值為一個區(qū)間,那么取平均值 else: num_list = [int(j) for j in i] avg_year = sum(num_list)/2 avg_work_year.append(avg_year) df['經(jīng)驗(yàn)'] = avg_work_year df=df.drop('工作年限',1) #刪除工作年限數(shù)據(jù)列(冗余數(shù)據(jù)) df['salary'] = df['工資'].str.findall(pattern) #字符串轉(zhuǎn)化為列表,取區(qū)間平均值作為薪資 avg_salary = [] for k in df['salary']: int_list = [int(n) for n in k] avg_wage = (int_list[1]+int_list[0])/2 avg_salary.append(avg_wage) df['平均工資']=avg_salary df= df.drop('salary',1) #刪除salary數(shù)據(jù)列(冗余數(shù)據(jù)) df= df.drop('工資',1) ##刪除工資數(shù)據(jù)列(冗余數(shù)據(jù)) # 將清洗后的數(shù)據(jù)保存,以便后續(xù)使用 df.to_csv('lagou_data2.csv', index = False)

8.3繪制詞云圖

#繪制詞云圖 import numpy as np from PIL import Image import jieba from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS import matplotlib.pyplot as plt df = pd.read_csv('D:/baogao/lagou_data2.csv', encoding = 'utf-8') #讀取數(shù)據(jù)并編碼處理 text = '' for line in df['職位福利']: text += line #使用jieba模塊將字符串分割為單詞列表 f=open("D:/baogao/職位福利.txt","a+") #以追加的方式創(chuàng)建一個文本文件 f.write(text) #寫人職位福利文本內(nèi)容 f.write("\n") # 寫完通過\n進(jìn)行換行 f.close() #關(guān)閉文檔 from random import randint #封裝改變顏色函數(shù) def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):h = randint(120,250)s = int(100.0 * 255.0 / 255.0)l = int(100.0 * float(randint(60, 120)) / 255.0)return "hsl({}, {}%, {}%)".format(h, s, l) #用一張圖片作為詞云的模板 maskcolud=np.array(Image.open(r"D:/baogao/0.jpg")) #打開要生成詞云的文字文件的位置 nedcloudpath=open("D:/baogao/職位福利.txt","rb").read() #打開之后用jieba切割 jiebapath=jieba.cut(nedcloudpath,cut_all=True) #以空格為分割 jiebapathsplit=" ".join(jiebapath) #設(shè)置詞云對應(yīng)屬性 produCloud=WordCloud(width=300,height=300,background_color="white",mask=maskcolud,font_path='C:\windows\Fonts\STZHONGS.TTF',max_words=200,stopwords=STOPWORDS,max_font_size=60,random_state=50,scale=0.5,color_func=random_color_func ).generate(jiebapathsplit) ImageColorGenerator(maskcolud) #對詞云進(jìn)行顯示 produCloud.to_file('ciyu.jpg') plt.imshow(produCloud) plt.axis("off") plt.show()

8.4數(shù)據(jù)分析崗位要求部分代碼

#薪酬影響因素分析 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 讀取數(shù)據(jù) df1 = pd.read_csv('D:/baogao/lagou_data2.csv', encoding = 'utf-8') #原來的gbk不能用!!! c1=df1['城市'].count() #1.計(jì)算學(xué)歷水平與工資關(guān)系,繪制柱狀圖 df2=df.groupby('學(xué)歷要求')['平均工資'].agg([np.mean]) #agg函數(shù)分組統(tǒng)計(jì) count3=pd.Series(df2['mean'],df2.index) #將dataframe數(shù)據(jù)庫轉(zhuǎn)化為序列series count3=count3.sort_values(ascending=False) #降序排列 plt.title("學(xué)歷水平與平均薪資") plt.xlabel("學(xué)歷水平") plt.ylabel("平均工資") plt.bar(count3.keys(),count3) plt.savefig('學(xué)歷與工資關(guān)系.jpg') #保存為圖片 plt.show() #2.計(jì)算工作經(jīng)驗(yàn)與平均工資關(guān)系 df3=df.groupby('工作經(jīng)驗(yàn)')['平均工資'].agg([np.mean]) count5=pd.Series(df3['mean'],df3.index) #將dataframe數(shù)據(jù)框轉(zhuǎn)化為序列series count5=count5.sort_values(ascending=False) plt.title("工作經(jīng)驗(yàn)與平均薪資") plt.xlabel("工作經(jīng)驗(yàn)") plt.ylabel("平均工資") plt.bar(count5.keys(),count5) plt.savefig('工作經(jīng)驗(yàn)與平均工資關(guān)系.jpg') plt.show() #3.計(jì)算不同融資階段的工資水平 df4=df.groupby('融資階段')['平均工資'].agg([np.mean]) count6=pd.Series(df4['mean'],df4.index) #將dataframe轉(zhuǎn)化為序列 count6=count6.sort_values(ascending=False) plt.title("融資階段與平均薪資") plt.xlabel("融資階段") plt.ylabel("平均工資") plt.bar(count6.keys(),count6) plt.savefig('融資階段與工資關(guān)系.jpg') plt.show() #4.計(jì)算不同城市平均工資分布狀況 df5=df.groupby('城市')['平均工資'].agg([np.mean]) count7=pd.Series(df5['mean'],df5.index) #將dataframe轉(zhuǎn)化為序列 count7=count7.sort_values(ascending=False) count7=count7[0:15] #取排名前15位 plt.title("不同城市薪資") plt.xlabel("城市") plt.ylabel("平均工資") plt.bar(count7.keys(),count7) plt.savefig('不同城市與工資關(guān)系.jpg') plt.show()

8.5拉勾網(wǎng)數(shù)據(jù)爬取部分代碼

#拉勾網(wǎng)全國前100頁數(shù)據(jù)分析師招聘數(shù)據(jù)爬取 import requests import math import pandas as pd import time def get_json(url,num): my_headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36','Host': 'www.lagou.com','Referer': 'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?px=default&city=%E5%85%A8%E5%9B%BD','X-Anit-Forge-Code': '0','X-Anit-Forge-Token': 'None','X-Requested-With': 'XMLHttpRequest'}my_data = { 'first': 'true', 'pn':num, 'kd':'數(shù)據(jù)分析'} res = requests.post(url, headers = my_headers, data = my_data) res.raise_for_status() res.encoding = 'utf-8' # 得到包含職位信息的字典 page = res.json() return page def get_page_num(count): #計(jì)算要抓取的頁數(shù) # 每頁15個職位,向上取整 res = math.ceil(count/15) #得到大于或等于該數(shù)值的最小整數(shù)# 拉勾網(wǎng)最多顯示30頁結(jié)果 if res > 100: return 100 else: return res def get_page_info(jobs_list): '''''對一個網(wǎng)頁的職位信息進(jìn)行解析,返回列表''' page_info_list = [] for i in jobs_list: job_info = []job_info.append(i['city']) job_info.append(i['companyFullName']) job_info.append(i['companyShortName']) job_info.append(i['companySize']) job_info.append(i['financeStage']) job_info.append(i['district']) job_info.append(i['positionName']) job_info.append(i['workYear']) job_info.append(i['education']) job_info.append(i['salary']) job_info.append(i['positionAdvantage']) page_info_list.append(job_info) return page_info_list #返回特定信息構(gòu)建表格 def main(): url = 'https://www.lagou.com/jobs/positionAjax.json?px=default&needAddtionalResult=false' # 先設(shè)定頁數(shù)為1,獲取總的職位數(shù) page_1 = get_json(url,1) total_count = page_1['content']['positionResult']['totalCount'] num = get_page_num(total_count) total_info = [] time.sleep(40) #間隔40秒print('職位總數(shù):{},頁數(shù):{}'.format(total_count,num)) for n in range(1,num+1): # 對每個網(wǎng)頁讀取JSON, 獲取每頁數(shù)據(jù) page = get_json(url,n) jobs_list = page['content']['positionResult']['result'] page_info = get_page_info(jobs_list) total_info += page_info print('已經(jīng)抓取第{}頁, 職位總數(shù):{}'.format(n, len(total_info))) # 每次抓取完成后,暫停一會,防止被服務(wù)器拉黑 time.sleep(40) #將總數(shù)據(jù)轉(zhuǎn)化為data frame再輸出 df = pd.DataFrame(data = total_info,columns = ['城市','公司全名','公司簡稱','公司規(guī)模','融資階段','區(qū)域','職位名稱','工作經(jīng)驗(yàn)','學(xué)歷要求','工資','職位福利']) df.to_csv('lagou_jobs.csv',index = False) print('已保存為csv文件.') if __name__== "__main__": main()

?

?

?

總結(jié)

以上是生活随笔為你收集整理的数据分析岗位需求分析报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。