智聯(lián)Python相關(guān)職位的數(shù)據(jù)分析及可視化-Excel篇

碎碎念:

數(shù)據(jù)分析、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)舵稠、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)入宦,這些五花八門(mén)的名詞貌似逼格滿滿哺徊, 初入門(mén)的新手(譬如我就是)很容易被高大上的詞匯吸引但又不知如何靜下心來(lái)入門(mén)和學(xué)習(xí)、暈頭轉(zhuǎn)向云石。 此篇是利用Excel進(jìn)行智聯(lián)招聘職位分析的第一篇唉工,讓我門(mén)看看如何分析研乒,能分析出哪些有意思的東西汹忠。 還有一篇姊妹篇,用同樣的數(shù)據(jù)進(jìn)行分析、不過(guò)用的是Python中的Pandas和Matplotlib而不是Excel宽菜。敬請(qǐng)期待谣膳!


數(shù)據(jù)來(lái)源:

Python爬蟲(chóng)爬取了智聯(lián)招聘關(guān)鍵詞:【Python】、全國(guó)30個(gè)主要城市的搜索結(jié)果铅乡。
數(shù)據(jù)存儲(chǔ)到本地MySql和MongoDB服務(wù)器上继谚。從服務(wù)器上導(dǎo)出文件、用Python的Pandas庫(kù)簡(jiǎn)單處理后保存為本地excel阵幸。
A.使用的軟件:
Excel-2011花履,Python-3.6,Mysql-5.7(macOS系統(tǒng))

B.前期準(zhǔn)備:

將Mysql里的數(shù)據(jù)導(dǎo)出到本地JSON文件挚赊,用Python的Pandas庫(kù)讀取JSON文件并進(jìn)行簡(jiǎn)單的格式處理之后用to_excel() 方法保存至本地.xls的Excel文件诡壁。

#在終端輸入ipython --pylab進(jìn)入ipython的界面
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_json('/Users/zhaoluyang/Desktop/Python_全國(guó)JSON.json')
df.info()

image

通過(guò)http://df.info()可以看見(jiàn):
df是一個(gè)pandas里的DataFrame格式的文件,類似于excel中的表格荠割,本質(zhì)是一個(gè)方便處理的二維數(shù)組妹卿。 整個(gè)df中有18326行數(shù)據(jù)、15列蔑鹦,其中ZL_Job_id一列是mysql中我添加的id標(biāo)記夺克。

Int64Index: 18326 entries, 0 to 18325表示pandas給我的數(shù)據(jù)自動(dòng)添加了int64類型的索引,從0-18325. 再通過(guò)df[['ZL_Job_id','公司名稱']].head()看看前5行的信息(因?yàn)?5列不方便閱讀嚎朽,所以只看前兩列的)

image

可以看到ZL_Job_id序號(hào)很混亂铺纽,而且左邊自動(dòng)添加的索引不匹配。那么現(xiàn)在問(wèn)題來(lái)了哟忍。我需要給 ZL_Job_id一列重新遞增排序室囊,然后用此列替換掉左邊的默認(rèn)索引。

我就直接擺代碼了:

df.index = df['ZL_Job_id']
del(df['ZL_Job_id'])
df1 = df.sort_index()
df = df1

好了魁索,現(xiàn)在可以導(dǎo)出格式比較規(guī)整的數(shù)據(jù)了融撞。

df.to_excel('/Users/zhaoluyang/Desktop/Python_nation.xls')

打開(kāi)文件看看導(dǎo)出的是否正確?看了一下粗蔚,應(yīng)該是沒(méi)問(wèn)題的尝偎!

image

前期準(zhǔn)備:

1.分析的目的:

A.希望通過(guò)對(duì)全國(guó)30個(gè)主要城市招聘Python相關(guān)的職位,來(lái)看看最近很火的Python到底待遇如何鹏控?工資水平怎么樣致扯? 對(duì)工作經(jīng)驗(yàn)和學(xué)歷有什么要求?需要掌握的崗位技能有哪些当辐?各個(gè)城市比較下抖僵、平均下?
B.其實(shí)想怎么分析缘揪,完全是隨個(gè)人喜好的耍群,譬如還可以分析下全國(guó)所有的公司义桂、看看哪個(gè)招聘的數(shù)量最多? (還可以畫(huà)個(gè)逼格滿滿的基于地理位置的密度圖)分析下公司給開(kāi)出的平均薪水蹈垢,看看哪個(gè)公司最慷慨慷吊? 將崗位職責(zé)的描述用python分詞處理、再統(tǒng)計(jì)詞頻看看哪些名稱經(jīng)常出現(xiàn)曹抬、再生成個(gè)詞云圖玩玩溉瓶?
C.本次分析主要通過(guò)Excel,大概的過(guò)程講解和流程梳理谤民,最后通過(guò)Excel里的圖表進(jìn)行數(shù)據(jù)呈現(xiàn)堰酿。

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

看著excel,有沒(méi)有發(fā)現(xiàn)全是文字张足?包括職位月薪也是很不規(guī)則的胞锰?6000-8000元/月、面議..我想要的是純粹的數(shù)字如:6000兢榨、8000嗅榕。工作地點(diǎn)也是五花八門(mén)的,明明都是蘇州吵聪,還分了蘇州-工業(yè)園區(qū)凌那,蘇州-姑蘇區(qū),這樣子待會(huì)我統(tǒng)計(jì)城市的時(shí)候是不是很不友好吟逝?帽蝶! 哎,都是坑块攒!
為此励稳,需要做數(shù)據(jù)清洗的工作:
A.將【職位月薪】列細(xì)化,新增3列【bottom】【top】【平均月薪】囱井。
【bottom】表示最低月薪驹尼,【top】表示最高月薪,【平均月薪】則為中間值庞呕。譬如原來(lái)職位月薪是6000-8000元/月的新翎,bottmm=6000,top=8000住练,平均月薪=7000地啰;原來(lái)職位月薪是面議的,bottom=top=平均月薪=面議讲逛。
B.將【工作地點(diǎn)】列細(xì)化亏吝,新增一列【工作城市】。 譬如不論工作地點(diǎn)是蘇州還是蘇州-工業(yè)園區(qū)盏混,蘇州-姑蘇區(qū)蔚鸥,【工作城市】一列統(tǒng)統(tǒng)=蘇州惜论。

要想清洗以上數(shù)據(jù)、用excel的公式還是比較方便的株茶,我單獨(dú)把【職位月薪】和【工作地點(diǎn)】?jī)闪心昧顺鰜?lái)来涨,構(gòu)造了新的測(cè)試表如下:

image

“平均月薪”列很好計(jì)算图焰,主要bottom和top都完成以后直接(top+bottom)/2就好启盛,暫時(shí)忽略此列,讓我們看看怎么得到【bottom】列技羔?如果【職位月薪】=面議僵闯,那么bottom也=面議,否則bottom的值在“-”的前半部分藤滥,好了鳖粟,一個(gè)嵌套的IF函數(shù)就可以解決。讓我們?cè)贑3單元格寫(xiě)如下的表達(dá)式:

【bottom】:

=IF(A3="面議";"面議";LEFT(A3;FIND("-";A3;1)-1))

函數(shù)表達(dá)式的語(yǔ)法和對(duì)應(yīng)解釋:

IF(表達(dá)式拙绊;返回結(jié)果a;返回結(jié)果b)向图;

如果表達(dá)式成立,則返回結(jié)果a标沪,否則返回結(jié)果b期奔。

LEFT(text瘩例;字符個(gè)數(shù)num);

返回一段text文本中,從左起小渊,指定個(gè)數(shù)的字符。

譬如text=“數(shù)據(jù)分析工程師”LEFT(text;4)的結(jié)果:“數(shù)據(jù)分析”

FIND(text辱士;目標(biāo)text契邀;起始位數(shù))

查找一段text在目標(biāo)文本text中的起始位置。

譬如text=“工資”趁曼,目標(biāo)text=“數(shù)據(jù)分析工程師的工資有多少”军浆,F(xiàn)IND(text;目標(biāo)text挡闰;5)

從目標(biāo)text字符串中的第5位開(kāi)始查找瘾敢,查找“工資”在目標(biāo)text出現(xiàn)的位置,結(jié)果:9.

讓我們回到表達(dá)式IF(A3="面議";"面議";LEFT(A3;FIND("-";A3;1)-1))尿这,表達(dá)式的自然語(yǔ)言大意是:如果表達(dá)式A3="面議"成立簇抵,那么返回結(jié)果a,對(duì)應(yīng)的就是字符“面議”射众;不成立碟摆,則返回結(jié)果b。結(jié)果b=表達(dá)式LEFT(A3;FIND("-";A3;1)-1)叨橱,可以返回A3單元格中文本從左起到第【FIND("-";A3;1)-1】位的字符,FIND("-";A3;1)就是查找“-”字符在A3中文本位置的數(shù)值典蜕,減1表示前一位断盛。

寫(xiě)了這么多感覺(jué)很啰嗦,反而容易讓人看暈愉舔,所以就不詳細(xì)解釋各個(gè)公式的用法了钢猛!其實(shí)很簡(jiǎn)單,用到的時(shí)候自己在excel里試試轩缤,百度一下各個(gè)函數(shù)具體的用法命迈,練兩次就會(huì)用了!;鸬摹壶愤!

【top】列的公式:

=IF(A3="面議";"面議";MID(A3;FIND("-";A3;1)+1;LEN(A3)-LEN(B3)-4))

【平均月薪】列的公式:

=IF(A3="面議";"面議";(B3+C3)/2)

【工作地點(diǎn)】列的公式:

=IF(ISERROR(FIND("-";E3;1));E3;LEFT(E3;FIND("-";E3;1)-1))

最后,將excel公式套到原文件中馏鹤,構(gòu)造出可用的數(shù)據(jù)征椒,至此數(shù)據(jù)清洗的工作暫時(shí)告一段落了!

分析過(guò)程和結(jié)果:

打開(kāi)Excel表湃累,除了具體的公司和職位名稱以外勃救,我們還比較關(guān)心幾個(gè)關(guān)鍵詞:平均月薪、工作經(jīng)驗(yàn)治力、工作城市蒙秒、最低學(xué)歷和崗位職責(zé)描述,這里崗位職責(zé)描述以后會(huì)用python分詞做詞云圖琴许,所以目前篩選出【平均月薪】税肪、【工作經(jīng)驗(yàn)】、【工作城市】榜田、【最低學(xué)歷】這四個(gè)標(biāo)簽益兄,這些標(biāo)簽可以兩兩組合產(chǎn)生各種數(shù)據(jù)。譬如我想知道各個(gè)城市的招聘數(shù)量分布情況箭券,會(huì)不會(huì)大部分的工作機(jī)會(huì)都集中在北上廣深净捅?是不是北上廣深的平均工資也高于其他城市?我想知道Python這個(gè)關(guān)鍵詞的18000多條招聘數(shù)據(jù)中對(duì)學(xué)歷的要求和對(duì)工作經(jīng)驗(yàn)的要求辩块,以及它們分別占比多少蛔六?我還想知道平均月薪和工作經(jīng)驗(yàn)的關(guān)系?最低學(xué)歷和平均月薪的關(guān)系废亭?---------好国章,讓我們一個(gè)個(gè)來(lái)。

1.各個(gè)城市職位數(shù)量及分布

根據(jù)猜想北上廣深杭一定占據(jù)了Pyhton這個(gè)關(guān)鍵詞下大部分的工作機(jī)會(huì)豆村,會(huì)不會(huì)符合28定律液兽?20%的城市占據(jù)了80%的崗位?有可能掌动!用Eecel數(shù)據(jù)透視表篩選出【工作城市】作為行標(biāo)簽四啰、【職位鏈接】為計(jì)數(shù)字段宁玫,然后行標(biāo)簽中將無(wú)關(guān)的雜項(xiàng)城市和found no element字段刪除,篩選出有效職位鏈接18170條柑晒。

用柱形圖和餅圖作圖:

image
image

可見(jiàn)果然Python這個(gè)關(guān)鍵詞下的職位欧瘪,北、上匙赞、深佛掖、杭、廣占據(jù)了不小的比重罚屋!這5個(gè)城市占據(jù)了全國(guó)68%的職位數(shù)量苦囱!令人意外的是北京的工作機(jī)會(huì)領(lǐng)先第二名上海不少嗅绸,果然是帝都脾猛!杭州表現(xiàn)亮眼,超越了廣州鱼鸠,這個(gè)和阿里巴巴對(duì)杭州互聯(lián)網(wǎng)文化的貢獻(xiàn)應(yīng)該有很大關(guān)系猛拴!北上廣深航+成都、南京蚀狰、鄭州愉昆,這8個(gè)城市占據(jù)了中國(guó)80%的工作機(jī)會(huì)!剩下的22個(gè)城市合起來(lái)只占據(jù)了20%

2.工作經(jīng)驗(yàn)-職位數(shù)量及分布

Python雖然是一名比較老的語(yǔ)言麻蹋,但是在人們的印象中火起來(lái)也就最近幾年跛溉,Python相關(guān)的工作對(duì)于【工作經(jīng)驗(yàn)】是怎樣要求的呢?讓我們來(lái)看看扮授!數(shù)據(jù)篩選的時(shí)候過(guò)濾掉了一些很少量的標(biāo)簽譬如“5年以上”芳室,“2年以上”,“1-2年”刹勃,“1年以上”等堪侯,這些標(biāo)簽下職位的數(shù)量都在10以內(nèi),不太具備統(tǒng)計(jì)意義荔仁,篩選后共計(jì)18215個(gè)職位伍宦。

image
image

篩選字段數(shù)據(jù)透視以后總共得到18215條職位。從直方圖里可以明顯看出工作機(jī)會(huì)集中與“不限”乏梁、1-3年次洼、3-5年,看來(lái)即使是初入門(mén)者遇骑,大家的機(jī)會(huì)也還是有不少的卖毁!其中“不限”占比34%,1-3年占比27%质蕉,再加上1年以下势篡、無(wú)經(jīng)驗(yàn)的翩肌,匯總可發(fā)現(xiàn)工作經(jīng)驗(yàn)要求3年以內(nèi)的占比64%!果不其然禁悠!

3.工作經(jīng)驗(yàn)-平均月薪

這個(gè)嘛念祭,大家閉著眼都能想到!肯定是工作經(jīng)驗(yàn)越久的拿錢越多了碍侦!再猜猜粱坤?無(wú)經(jīng)驗(yàn)的和5-10年經(jīng)驗(yàn)的收入差距有多大?這個(gè)瓷产,嘿嘿就不好猜了U拘!

image

由于樣本數(shù)量原因“1年以下”濒旦、“3年以上”株旷、“10年以上”的數(shù)據(jù)量較小,可能不那么準(zhǔn)確尔邓,看看就好晾剖!我們看到1-3年工作經(jīng)驗(yàn)的平均月薪是11831,還不錯(cuò)梯嗽!但是“1年以下”齿尽,“無(wú)經(jīng)驗(yàn)”的平均月薪就沒(méi)那么好看了!綜合一下平均的月薪為14122元灯节!10年以上工作經(jīng)驗(yàn)的平均月薪達(dá)到了恐怖的34891元循头,是無(wú)經(jīng)驗(yàn)5883的5.9倍!

4.工作城市-平均月薪

對(duì)了炎疆,剛才說(shuō)到北上廣深占據(jù)了全國(guó)大部分的工作機(jī)會(huì)卡骂,那么北上廣深的平均月薪如何呢?會(huì)不會(huì)也碾壓小城市磷雇?讓我們來(lái)看看偿警!

image

果然,北上廣深杭不僅工作機(jī)會(huì)多唯笙,而且平均月薪也是領(lǐng)先全國(guó)的螟蒸!北京表現(xiàn)搶眼平均月薪達(dá)到17096!全國(guó)平均月薪達(dá)到了14126元崩掘!

5.學(xué)歷-職位數(shù)量

由于樣本數(shù)量的關(guān)系七嫌,篩選的時(shí)候排除了學(xué)歷為:高中、中專苞慢、高職等等標(biāo)簽诵原,并不是我看不起高中生哈!總共得到18068個(gè)有效職位。

image

可見(jiàn)【本科】獨(dú)占鰲頭绍赛,占據(jù)了55%的市場(chǎng)蔓纠!【不限】和【大專】也合計(jì)占比38%不容小覷吗蚌!看起來(lái)腿倚,只要技術(shù)過(guò)硬,學(xué)歷從來(lái)都不是問(wèn)題r歉尽7罅恰!作為對(duì)比【碩士】占比6%箩言,【博士】更是少到只有1%硬贯,果然稀缺到百里挑一!

6.學(xué)歷-平均月薪

看看學(xué)歷和平均月薪的關(guān)系:

image

平均月薪14139元陨收,可以看到學(xué)歷越高果然工資越高饭豹,博士級(jí)別的更是碾壓,達(dá)到了29563元畏吓。平均月薪最低的【大屇矗】也超過(guò)了10000元卫漫!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末菲饼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子列赎,更是在濱河造成了極大的恐慌宏悦,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件包吝,死亡現(xiàn)場(chǎng)離奇詭異饼煞,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)诗越,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)砖瞧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人嚷狞,你說(shuō)我怎么就攤上這事块促。” “怎么了床未?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵竭翠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我薇搁,道長(zhǎng)斋扰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮传货,結(jié)果婚禮上屎鳍,老公的妹妹穿的比我還像新娘。我一直安慰自己问裕,他們只是感情好哥艇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著僻澎,像睡著了一般貌踏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窟勃,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天祖乳,我揣著相機(jī)與錄音,去河邊找鬼秉氧。 笑死眷昆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的汁咏。 我是一名探鬼主播亚斋,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼攘滩!你這毒婦竟也來(lái)了帅刊?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤漂问,失蹤者是張志新(化名)和其女友劉穎赖瞒,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蚤假,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡栏饮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磷仰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袍嬉。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖灶平,靈堂內(nèi)的尸體忽然破棺而出伺通,到底是詐尸還是另有隱情,我是刑警寧澤民逼,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布泵殴,位于F島的核電站,受9級(jí)特大地震影響拼苍,放射性物質(zhì)發(fā)生泄漏笑诅。R本人自食惡果不足惜调缨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吆你。 院中可真熱鬧弦叶,春花似錦、人聲如沸妇多。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)者祖。三九已至立莉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間七问,已是汗流浹背蜓耻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留械巡,地道東北人刹淌。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像讥耗,于是被迫代替她去往敵國(guó)和親有勾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容