版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《Python基礎(chǔ)與辦公自動(dòng)化應(yīng)用(微課版)》 教教學(xué)過(guò)程課題教學(xué)目標(biāo)及基本要求點(diǎn)難點(diǎn)式可視化課程介紹招聘數(shù)據(jù)提取與清洗招聘數(shù)據(jù)分析招聘數(shù)據(jù)可視化1.Python數(shù)據(jù)清洗2.Python數(shù)據(jù)提取3.Python數(shù)據(jù)可視化1.Python數(shù)據(jù)清洗2.Python數(shù)據(jù)提取3.Python數(shù)據(jù)可視化Pyecharts操作Pandas操作教學(xué)做一體化計(jì)劃4學(xué)時(shí)(項(xiàng)目介紹、數(shù)據(jù)清洗與處理)景,導(dǎo)入課程我們生活在一個(gè)數(shù)據(jù)爆炸的時(shí)代,現(xiàn)實(shí)生活中每天都會(huì)產(chǎn)生的,所以我們需要進(jìn)行處理和分析后,才能得到有價(jià)值的信息。為了解決信息存儲(chǔ)、處理與分析的問(wèn)題,大數(shù)據(jù)技術(shù)應(yīng)運(yùn)而生,但是作為大數(shù)據(jù)的門(mén)外漢,你可能聽(tīng)過(guò)很多次概念,知道大數(shù)據(jù)已經(jīng)無(wú)處不在了,卻沒(méi)有真正以實(shí)踐的方式體驗(yàn)過(guò)。本項(xiàng)目將帶領(lǐng)你初步地了解大數(shù)據(jù)技術(shù)中的一部分——數(shù)的工作和生活帶來(lái)哪些變化。處理所示。該文件 (51job_bigdata.csv)中存放了“大數(shù)據(jù)崗位”的招聘信息,我們的第一個(gè)任務(wù)就是從這些數(shù)據(jù)中提取崗位工資、職位信息等關(guān)notepad++等其他軟件打開(kāi)。在Python中提取數(shù)據(jù)和處理數(shù)據(jù)需要用到Pandas。Pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算);用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時(shí)也提供數(shù)據(jù)清洗功能。在命令行窗口中輸入pipinstallpandas即可安裝Pandas。獲取到的數(shù)據(jù)文件可以發(fā)現(xiàn)其中有很多重復(fù)的數(shù)據(jù),還數(shù)據(jù)對(duì)于之后要做的數(shù)據(jù)分析工作是不利的,所以需要對(duì)這些“臟”數(shù)據(jù)進(jìn)行清洗。接下來(lái)觀(guān)察崗位信息。可以發(fā)現(xiàn)表中有許多銷(xiāo)售崗位、運(yùn)營(yíng)#通過(guò)關(guān)鍵詞提取大數(shù)據(jù)崗位相關(guān)信息,去除不屬于大數(shù)據(jù)崗位的信息df=df[df['職位'].str.contains(r'.*?數(shù)據(jù).*?|.*?分析.*?|.*?開(kāi)發(fā).*?|.*?架構(gòu).*?|.*?ETL.*?|.*?技術(shù).*?|.*?工程師.*?')]print(df[['職位']])(工資數(shù)據(jù)處理)有許多崗位沒(méi)有設(shè)置工資水平即工資數(shù)據(jù)為空,所以我們需要將這些空數(shù)據(jù)過(guò)濾掉,使用notnull()函數(shù)即可對(duì)空值進(jìn)行過(guò)df=df[df['工資'].notnull()]print(df[['工資']])......二、統(tǒng)一工資單位表中總共有三種類(lèi)型的工資單位:(1)XX-XX千/月;(2)XX-XX萬(wàn)/月;(3)XX-XX萬(wàn)/年。如果要對(duì)招聘崗位的工資進(jìn)行數(shù)據(jù)分析,我們還需要完成兩(1)將這三種工資數(shù)據(jù)的單位統(tǒng)一成K(K表示千);(2)將工資范圍數(shù)據(jù)拆分成“最低工資”和“最高工資”第一步:處理“千/月”的數(shù)據(jù)。#篩選出千/月的數(shù)據(jù)salary_K=df[df['工資'].str.contains('(\d+\.?\d*)\-?(\d+\.?\d*)千/月')]#定義兩個(gè)字段“最低工資”和“最高工資”salary_K[['最低工資','最高工資']]=salary_K['工資']\.replace(regex={r'(\d+\.?\d*)\-?(\d+\.?\d*)千/月':r'\1K-\2K'})\.str.split('-',expand=True)#最后刪除“工資”字段salary_K.drop('工資',axis=1,inplace=True)print(salary_K[['最低工資','最高工資']])表10-5提取“千/月”的數(shù)據(jù)最低工資最高工資07最終結(jié)果.5K最后將處理結(jié)果保存為csv文件,用作后續(xù)的數(shù)據(jù)分析和可運(yùn)行程序之后,可以發(fā)現(xiàn)在當(dāng)前目錄下生成了一個(gè)名為“final_jobinfo.csv”的文件,打開(kāi)該文件可以看到如圖10-3所(招聘數(shù)據(jù)可視化)一、使用pyecharts展示工資數(shù)據(jù)在對(duì)數(shù)據(jù)可視化展示之前,我們需要先對(duì)數(shù)據(jù)進(jìn)行處理,將算這三個(gè)檔位的比例。importpandasaspd#讀取文件df=pd.read_csv('final_jobinfo.csv')#去除工資的單位“K”salary=df[['最低工資','最高工資']].replace(regex={r'(\d+)K':r'\1'}).astype("float")#計(jì)算平均工資axis=1表示取列的值進(jìn)行計(jì)算salary_avg=salary.apply(lambdaitem:(item['最低工資']+item['最高工資'])/2,axis=1)#將數(shù)據(jù)分成三個(gè)擋位0-10K10-25K25K以上salary_dic={'0-10K':0,'10-25K':0,'25K以上':0}foriinsalary_avg:if(0<=i<=10):salary_dic['0-10K']+=1elif(10<i<=25):salary_dic['10-25K']+=1salarydic'25K以上']+=1#統(tǒng)計(jì)崗位總數(shù)量count=0forvalueinsalary_dic.values():count+=value#轉(zhuǎn)換為百分比f(wàn)orkeyinsalary_dic.keys():value=(salary_dic[key]/count)*100#保留兩位小數(shù)salary_dic[key]=float("%.2f"%(value))print(salary_dic)運(yùn)行結(jié)果如下。{'0-10K':16.5,'10-25K':67.33,'25K以上':16.17}接下來(lái)可以使用pyecharts對(duì)薪資數(shù)據(jù)進(jìn)行可視化展示。二、可視化展示公司類(lèi)型和數(shù)量公司的類(lèi)型通常也是求職者找工作的時(shí)候非常關(guān)注的一個(gè)importpandasaspdfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportPie,Bar,Grid#讀取文件data=pd.read_csv('final_jobinfo.csv')companys=[]values=[]counts=[]#統(tǒng)計(jì)公司類(lèi)型數(shù)量,按照公司類(lèi)型進(jìn)行分組統(tǒng)計(jì)data=data['公司類(lèi)型'].groupby(data['公司類(lèi)型']).value_counts()forkey,valueinzip(data.keys(),data.values):#print(key[0])#print(value)companys.append(key[0].strip())counts.append(int(value))pie=(Pie().add("公司類(lèi)型統(tǒng)計(jì)",[list(z)forzinzip(companys,values)],center=["25%","50%"],).set_global_opts(title_opts=opts.TitleOpts(title="公司類(lèi)型統(tǒng)計(jì)",pos_left="25%"),legend_opts=opts.LegendOpts(is_show=False),).set_series_opts(label_opts=opts.LabelOpts(formatter=":{c}%")))bar=(Bar().add_xaxis(companys).add_yaxis("數(shù)量",counts).set_global_opts(legend_opts=opts.LegendOpts(pos_right="20%")).reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position="right")))#將餅圖和柱狀圖合并成一個(gè)圖形grid=(Grid(init_opts=opts.InitOpts(width="1800px",height="720px")).add(bar,grid_opts=opts.GridOpts(pos_left="68%"),is_control_axis_index=True).add(pie,grid_opts=opts.GridOpts(pos_right="40%"),is_control_axis_index=True).render("公司類(lèi)型和數(shù)量占比統(tǒng)計(jì).html"))運(yùn)行代碼,在當(dāng)前目錄下可以看到一個(gè)名為“公司類(lèi)型和數(shù)量占比統(tǒng)計(jì).html”的文件,打開(kāi)即可看到如圖10-5的統(tǒng)計(jì)結(jié)果,可以看到民營(yíng)公司在所有類(lèi)型的公司中數(shù)量最多。圖10-5公司類(lèi)型和數(shù)量占比統(tǒng)計(jì)圖三、崗位數(shù)量分布地圖求職者在找工作的時(shí)候經(jīng)常會(huì)糾結(jié)應(yīng)該在城市的哪個(gè)區(qū)上班,因?yàn)檫x擇在哪個(gè)區(qū)上班決定了在哪里生活,在哪里發(fā)展。接下來(lái)我們編寫(xiě)代碼來(lái)統(tǒng)計(jì)“大數(shù)據(jù)”相關(guān)崗位在“深圳市”每個(gè)“區(qū)”的分布數(shù)量,并且根據(jù)這些數(shù)據(jù)繪制一張“大數(shù)據(jù)”相關(guān)崗位在深圳市的分布情況。要繪制深圳市的地圖我們還需要下載地圖相關(guān)的資源。使用pipinstallecharts-china-cities-pypkg即可安裝城市相安裝完成之后,編寫(xiě)如下代碼。importpandasaspdfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportMapdata=pd.read_csv('final_jobinfo.csv')#將類(lèi)似深圳-羅湖區(qū)的數(shù)據(jù)以-切分為兩列data[['地區(qū)','區(qū)']]=data['地區(qū)'].str.split('-',expand=True)#按地區(qū)進(jìn)行分組統(tǒng)計(jì),統(tǒng)計(jì)每個(gè)區(qū)招聘崗位的數(shù)量data=data['地區(qū)'].groupby(data['區(qū)']).value_counts()areas=[]values=[]forkey,valueinzip(data.keys(),data.values):#去除深圳地區(qū)以外的招聘信息ifkey[1]=='深圳':area=key[0].strip()if"龍華"inkey[0]:area='龍華區(qū)'areas.append(area)values.append(int(value))map=Map()map.add("招聘人數(shù)",[list(z)forzinzip(areas,values)],"深圳")map.set_global_opts(title_opts=opts.TitleOpts(title="深圳大數(shù)據(jù)崗位數(shù)量分布圖"),visualmap_opts=opts.VisualMapOpts(max_=800,range_color=["lightskyblue","yellow","orangered"],is_piecewise=True),tooltip_opts=opts.TooltipOpts(is_show=True))map.render(path='深圳大數(shù)據(jù)崗位數(shù)量分布圖.html')運(yùn)行代碼,在當(dāng)前目錄下可以看到一個(gè)名為“深圳大數(shù)據(jù)崗html0-6的可視化結(jié)果,通過(guò)這張崗位數(shù)量圖可以知道深圳市的大數(shù)據(jù)崗位數(shù)量最多的區(qū)為“南山區(qū)”,其次是“福田區(qū)”。圖10-6深圳大數(shù)據(jù)崗位數(shù)量分布圖(項(xiàng)目總結(jié)與項(xiàng)目習(xí)題)在本項(xiàng)目中我們完成了從數(shù)據(jù)清洗到數(shù)據(jù)提取最后到數(shù)據(jù)分析與可視化兩個(gè)程序。通過(guò)對(duì)數(shù)據(jù)清洗、提取最后進(jìn)行分析和處理的過(guò)程可以發(fā)據(jù)出來(lái)的結(jié)果即可,相當(dāng)于我們的生產(chǎn)力一下子提升了一個(gè)量級(jí)。計(jì)算機(jī)擅長(zhǎng)計(jì)算,計(jì)算機(jī)也擅長(zhǎng)做重復(fù)的事情,計(jì)算機(jī)從來(lái)序,它就能給出你想要的答案。其實(shí)不算真正意義上的大數(shù)據(jù),我們處理的數(shù)據(jù)還不夠大,大數(shù)據(jù)系統(tǒng)處理的數(shù)據(jù)都是動(dòng)輒Td
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 值班的管理制度
- 企業(yè)員工培訓(xùn)與績(jī)效提升制度
- 交通設(shè)施施工安全管理制度
- 2026年傳統(tǒng)文化與藝術(shù)文化遺產(chǎn)專(zhuān)家考試題目
- 2026年投資入門(mén)指南金融市場(chǎng)基礎(chǔ)知識(shí)筆試練習(xí)題
- 2026年國(guó)際漢語(yǔ)教師職業(yè)能力測(cè)試練習(xí)題
- 2026年網(wǎng)絡(luò)安全攻防技術(shù)考試題庫(kù)及答案詳解
- 2026年旅游行業(yè)從業(yè)者心理調(diào)適與應(yīng)對(duì)策略題
- 商超節(jié)日堆頭布置合同
- 2026年音樂(lè)療法體驗(yàn)協(xié)議
- 國(guó)家中醫(yī)藥管理局《中醫(yī)藥事業(yè)發(fā)展“十五五”規(guī)劃》全文
- 師德師風(fēng)個(gè)人總結(jié)課件
- 化學(xué)-江蘇省蘇州市2024-2025學(xué)年第一學(xué)期學(xué)業(yè)質(zhì)量陽(yáng)光指標(biāo)調(diào)研卷暨高二上學(xué)期期末考試試題和答案
- 精神科疑難病例討論
- 騰訊00后研究報(bào)告
- DL∕T 1882-2018 驗(yàn)電器用工頻高壓發(fā)生器
- 固體廢物 鉛和鎘的測(cè)定 石墨爐原子吸收分光光度法(HJ 787-2016)
- DB45-T 2675-2023 木薯米粉加工技術(shù)規(guī)程
- 板材眼鏡生產(chǎn)工藝
- Unit 3 My weekend plan B Let's talk(教案)人教PEP版英語(yǔ)六年級(jí)上冊(cè)
- 實(shí)習(xí)考勤表(完整版)
評(píng)論
0/150
提交評(píng)論