自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

新聞 后端 大數(shù)據(jù)
作為一名在數(shù)據(jù)行業(yè)打拼了兩年多的數(shù)據(jù)分析師,雖然目前收入還算ok,但每每想起房價(jià),男兒三十還未立,內(nèi)心就不免彷徨不已~

作為一名在數(shù)據(jù)行業(yè)打拼了兩年多的數(shù)據(jù)分析師,雖然目前收入還算ok,但每每想起房價(jià),男兒三十還未立,內(nèi)心就不免彷徨不已~

兩年時(shí)間里曾經(jīng)換過一份工作,一直都是從事大數(shù)據(jù)相關(guān)的行業(yè)。目前是一家企業(yè)的BI工程師,主要工作就是給業(yè)務(wù)部門出報(bào)表和業(yè)務(wù)分析報(bào)告。

回想自己過去的工作成績也還算是不錯的,多次通過自己分析告,解決了業(yè)務(wù)的疑難雜癥,領(lǐng)導(dǎo)們各種離不開。

但安逸久了總會有點(diǎn)莫名的慌張,所以我所在的這個(gè)崗位未來會有多大發(fā)展空間,十年之后我能成為什么樣的人呢?自己的收入空間還有多少?

一番惆悵之后,別再問路在何方了,于是抄起自己的“家伙”,花了一小會時(shí)間爬了智聯(lián)招聘上BI崗位的數(shù)據(jù)信息,做了個(gè)分析。

PS:所用工具為Python+BI

數(shù)據(jù)分析的過程如同燒一頓飯,先要數(shù)據(jù)采集(買菜),然后數(shù)據(jù)建模(配菜)、數(shù)據(jù)清洗(洗菜)、數(shù)據(jù)分析(做菜)、數(shù)據(jù)可視化(擺盤上菜)。

所以***步,要采集/選擇數(shù)據(jù)。

一、Python爬取智聯(lián)招聘崗位信息(附源碼)

選擇智聯(lián)招聘,通過Python來進(jìn)行“BI工程師”的關(guān)鍵數(shù)據(jù)信息的爬取,這里大家也可以試著爬取自己崗位的關(guān)鍵詞,如“數(shù)據(jù)分析師”、“java開發(fā)工程師 ”等。經(jīng)過F12分析調(diào)試,數(shù)據(jù)是以JSON的形式存儲的,可以通過智聯(lián)招聘提供的接口調(diào)用返回。

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

那么我這邊通過Python對智聯(lián)招聘網(wǎng)站的數(shù)據(jù)進(jìn)行解析,爬取了30頁數(shù)據(jù),并且將崗位名稱、公司名稱、薪水、所在城市、所屬行業(yè)、學(xué)歷要求、工作年限這些關(guān)鍵信息用CSV文件保存下來。

附上完整Python源碼:

  1. import requests 
  2. import json 
  3. import csv 
  4. from urllib.parse import urlencode 
  5. import time 
  6.   
  7. def saveHtml(file_name,file_content): #保存conten對象為html文件 
  8.  with open(file_name.replace('/','_')+'.html','wb') as f: 
  9.  f.write(file_content) 
  10.   
  11. def GetData(url,writer):#解析并將數(shù)據(jù)保存為CSV文件 
  12.  response= requests.get(url) 
  13.  data=response.content 
  14.  saveHtml('zlzp',data) #保存html文件 
  15.  jsondata=json.loads(data) 
  16.  dataList=jsondata['data']['results'
  17.  #print(jsondata) 
  18.  for dic in dataList: 
  19.  jobName=dic['jobName'#崗位名稱 
  20.  company=dic['company']['name'#公司名稱 
  21.  salary=dic['salary'#薪水 
  22.  city=dic['city']['display'#城市 
  23.  jobtype = dic['jobType']['display'#所屬行業(yè) 
  24.  eduLevel=dic['eduLevel']['name'#學(xué)歷要求 
  25.  workingExp=dic['workingExp']['name'#工作經(jīng)驗(yàn) 
  26.  print(jobName,company,salary,city,jobtype,eduLevel,workingExp) 
  27.  writer.writerow([jobName,company,salary,city,jobtype,eduLevel,workingExp]) 
  28. param={ 'start':0
  29.  'pageSize':60
  30.  'cityId':489
  31.  'workExperience':-1
  32.  'education':-1
  33.  'companyType': -1
  34.  'employmentType': -1
  35.  'jobWelfareTag': -1
  36.  'kw''BI工程師'#搜索關(guān)鍵詞,可以根據(jù)你需要爬取的崗位信息進(jìn)行更換 
  37.  'kt'3
  38.  'lastUrlQuery': {"p":1,"pageSize":"60","jl":"681","kw":"python","kt":"3"
  39.  }#參數(shù)配置 
  40. pages=range(1,31)#爬取1-30頁數(shù)據(jù) 
  41. out_f = open('test.csv''w', newline=''
  42. writer = csv.writer(out_f) 
  43. writer.writerow(['jobName','company','salary','city','jobtype','eduLevel','workingExp']) 
  44. for p in pages: #自動翻頁 
  45.  param['start']=(p-1)*60 
  46.  param['lastUrlQuery']['p']=p 
  47.  url = 'https://fe-api.zhaopin.com/c/i/sou?' + urlencode(param) 
  48.  GetData(url,writer) 
  49.  time.sleep(3)#間隔休眠3秒,防止IP被封 
  50.  print(p) 
  51. out_f.close()  

經(jīng)過一番編譯調(diào)試,代碼成功運(yùn)行。

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

全部數(shù)據(jù)爬取完畢,一共1800條,保存在本地CSV文件中。

數(shù)據(jù)是爬到了,具體我想了解哪些信息呢:各城市的BI崗位需求情況以及薪資水平;薪水隨工作經(jīng)驗(yàn)的漲幅情況,以及有哪些具體的高薪崗。

由此可見,想要分析的角度很多,且看了源數(shù)據(jù),還要做不少的數(shù)據(jù)處理。最簡單快速出可視化的方法自然是用BI工具,來對數(shù)據(jù)做簡單清洗加工,并呈現(xiàn)可視化。

BI能應(yīng)付絕大多數(shù)場景的數(shù)據(jù)分析,尤其擅長多維數(shù)據(jù)切片,不需要建模;甚至數(shù)據(jù)清洗環(huán)節(jié)也能放在前端,通過過濾篩選、新建計(jì)算公式等來解決。***呈現(xiàn)可視化,并可設(shè)計(jì)數(shù)據(jù)報(bào)告。

這里我用FineBI來做這樣一份分析。

FineBI做分析大體是這樣的流程:連接/導(dǎo)入數(shù)據(jù)——數(shù)據(jù)處理/清洗(過濾、篩選、新增公式列)——探索式分析——數(shù)據(jù)可視化——出報(bào)告。

二、數(shù)據(jù)清洗加工

1.薪水上下限分割:

將CSV文件數(shù)據(jù)導(dǎo)入FineBI中(新建數(shù)據(jù)鏈接,建立一個(gè)分析業(yè)務(wù)包,然后導(dǎo)入這張excel表)。因?yàn)樾剿且詘xK-xxk(還有一些類似校招/薪資面議的數(shù)據(jù))的形式進(jìn)行存儲的,我這邊使用FineBI新增公式列(類似excel函數(shù))將這些字符進(jìn)行分割:

薪水下限(數(shù)值):left( indexofarray ( split (salary,"-") ,1),find( "K",INDEXOFARRAY( split(salary,"-") ,1))-1)

薪水上限(含K字符):right ( indexofarray( split(salary,"-") ,2),len(salary)- find("K",indexofarray(split(salary,"-"),2 ) ) )

薪水上限(數(shù)值):left( 薪水上限(文本),find("K",薪水上限(文本))-1 )

這樣就得到每個(gè)崗位的數(shù)值格式的薪水區(qū)間了:

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

2.臟數(shù)據(jù)清洗:

瀏覽了一下數(shù)據(jù),沒有大問題,但是發(fā)現(xiàn)里面有一些類似BIM工程師的崗位信息,這些應(yīng)該都是土木行業(yè)的工程師,這邊我直接過濾掉即可(不包含“BIM”且不包含“bim”)。

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

3.崗位平均數(shù)據(jù)計(jì)算

再新增列,平均薪水=(薪水下限+薪水上限)/2,即可得到每個(gè)崗位的平均薪水。

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

4.真實(shí)城市截取

由于城市字段存儲有的數(shù)據(jù)為“城市-區(qū)域”格式,例如“上海-徐匯區(qū)”,為了方便分析每個(gè)城市的數(shù)據(jù),***新增列“城市”,截取“-”前面的真實(shí)城市數(shù)據(jù)。

城市:if(find("-",city)>0 , left(city, find("-",city)-1 ),city)

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

至此,18000多條數(shù)據(jù)差不多清洗完畢,食材已經(jīng)全部準(zhǔn)備好,下面可以正式開始數(shù)據(jù)可視化的美食下鍋烹飪。

三、數(shù)據(jù)可視化

數(shù)據(jù)可視化可以說是很簡單了,拖拽要分析的數(shù)據(jù)字段即可。

但是這里用finebi分析要理解一個(gè)思路。常規(guī)我們用excel做分析或者說做圖表,是先選用鉆則圖表然后設(shè)定系列、數(shù)值。這里沒有系列和數(shù)值的概念,只有橫軸和豎軸。拖入什么字段,該字段就以該軸進(jìn)行擴(kuò)展,至于圖表嘛,finebi會自動判別推薦。

我這邊以各城市平均薪水/崗位數(shù)量分析為例給大家簡單展示FineBI的可視化呈現(xiàn)過程。

1、橫軸以“城市”字段擴(kuò)展,展現(xiàn)兩類數(shù)據(jù)。先是薪水值,拖拽到縱軸,默認(rèn)對數(shù)值類的字段是匯總求和的。點(diǎn)擊字段可直接對改字段修改計(jì)算、過濾等操作。

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

此圖來自官網(wǎng),圖中數(shù)據(jù)不是本次分析的數(shù)據(jù),僅供參考

2、然后分析每個(gè)城市BI崗位的情況。將數(shù)據(jù)記錄數(shù)這個(gè)指標(biāo)拖入到縱軸展示。同樣的方式,可以修改字段名。這里為了區(qū)分兩者,將其修改為折線圖,并且倒敘展示。

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

同理,其他圖表也是這樣的操作,想清楚展現(xiàn)什么樣的數(shù)據(jù),怎樣展現(xiàn),數(shù)據(jù)要作何處理。就得心應(yīng)手了。其他圖表就不一一贅述了。

***,大概花了15分鐘,一份完整的智聯(lián)招聘網(wǎng)站-BI工程師崗位數(shù)據(jù)分析的可視化報(bào)告就制作完成啦~

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

審美有限,只能做成這樣,其實(shí)這個(gè)FineBI還能做出這樣的效果。

15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!
15分鐘,教你用Python爬網(wǎng)站數(shù)據(jù),并用BI可視化分析!

四、分析結(jié)果

1.目前BI工程師崗位在智聯(lián)招聘網(wǎng)站的平均薪資為13.46K(痛哭。。。拉低平均薪水的存在),主要薪水區(qū)間大概在12-15K(占比27.07%),相關(guān)工作需求總數(shù)為634個(gè)(僅僅為某一天的招聘需求數(shù)據(jù))。

2.從城市崗位需求數(shù)量分布來看,BI工程師需求主要集中在北京、上海、深圳、廣州區(qū)域;各城市BI工程師平均薪水方面,去除崗位需求量較少的城市來看,國內(nèi)排在前面的分別為深圳(14.72K)、上海(14.59K)、北京(14.51)、杭州(12.07K)、成都(11.13K)、廣州(10.94K)。

3.從工作年限的平均薪水和崗位需求數(shù)量來看,工作5-10年的資深BI工程師的平均薪水可以達(dá)到20K以上(朝資深BI工程師方向奮斗?。?!1年以下年限的計(jì)算出來的平均薪水雖然為19K,但是由于樣本量只有3個(gè),所以參考意義不大),其中大部分的工作需求年限為3-5年,平均薪水為14.24K。

4.從學(xué)歷方面來看,***學(xué)歷需求主要以本科/大專為主,本科和大專學(xué)歷要求的平均薪資分別為12.68K和11.97K(感覺差距并不大,過硬的技術(shù)實(shí)力可能才是企業(yè)最為看重的吧),博士和碩士學(xué)歷需求很少。

5.看了一些高薪的招聘企業(yè),***的可以給到30K~40K的薪酬水平,其中主要是互聯(lián)網(wǎng)、IT類公司為主。

醍醐灌頂,頓時(shí)有了奮斗的動力~知識就是財(cái)富,繼續(xù)好好學(xué)習(xí)去吧,少年?。?!

責(zé)任編輯:張燕妮 來源: 頭條科技
相關(guān)推薦

2022-06-15 08:25:07

Python天氣數(shù)據(jù)可視化分析

2022-06-28 12:35:21

DockerPython

2020-01-18 10:27:07

簡書知乎Python

2022-07-24 21:43:48

數(shù)據(jù)可視化大數(shù)據(jù)

2020-12-17 09:40:01

Matplotlib數(shù)據(jù)可視化命令

2018-01-10 14:15:14

2021-06-04 12:56:22

數(shù)據(jù)分析崗位

2022-01-17 09:01:23

NodeJS數(shù)據(jù)服務(wù)器Mock

2021-09-12 22:22:45

Mock數(shù)據(jù)服務(wù)

2016-11-28 15:03:06

Python數(shù)據(jù)可視化網(wǎng)絡(luò)分析

2022-01-06 18:20:20

Scarlet AndroidWebSocket

2021-06-30 23:38:56

Python微信好友

2023-07-26 12:38:42

PyGWalker數(shù)據(jù)類型

2017-01-05 16:48:50

Python道路數(shù)據(jù)數(shù)據(jù)可視化

2019-09-12 08:42:38

工具可視化BI系統(tǒng)

2021-07-14 09:00:36

Python數(shù)據(jù)Python基礎(chǔ)

2022-09-06 08:01:23

數(shù)據(jù)采集數(shù)據(jù)可視化加密

2020-03-08 22:06:16

Python數(shù)據(jù)IP

2022-06-17 08:05:28

Grafana監(jiān)控儀表盤系統(tǒng)

2012-03-02 13:10:08

筆記本常見問題
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號