版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
智能數(shù)據(jù)分析與應(yīng)用第一單元
采集網(wǎng)絡(luò)數(shù)據(jù)
全套可編輯PPT課件教學(xué)概述教學(xué)導(dǎo)航1情境一使用BeautifulSoup庫與XPath語法解析網(wǎng)頁2情境二使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)第一單元采集網(wǎng)絡(luò)數(shù)據(jù)情境一使用BeautifulSoup庫與XPath語法解析網(wǎng)頁01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境一使用BeautifulSoup庫與XPath語法解析網(wǎng)頁情景概述
學(xué)習(xí)情境爬蟲采集的招聘數(shù)據(jù)是存在一個(gè)網(wǎng)頁內(nèi)的。那么提取網(wǎng)頁中的內(nèi)容,就需要使用BeautifulSoup庫、XPath語法。因此本學(xué)習(xí)情境就是了解BeautifulSoup庫、XPath語法的用法。關(guān)鍵知識(shí)點(diǎn)BeautifulSoup庫的應(yīng)用XPath語法的規(guī)則情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁情景概述
關(guān)鍵技能點(diǎn)lxml庫的安裝BeautifulSoup的安裝數(shù)據(jù)提取情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁P(yáng)ART02知識(shí)準(zhǔn)備情境一使用BeautifulSoup庫與XPath語法解析網(wǎng)頁知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁知識(shí)準(zhǔn)備BeautifulSoup框架介紹BeautifulSoup是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫。可以給BeautifulSoup庫指定任意合適的轉(zhuǎn)換器,來對(duì)文檔進(jìn)行查找、遍歷、內(nèi)容修改。BeautifulSoup將HTML或XML元素封裝成Python對(duì)象。使得開發(fā)者可以使用面向?qū)ο蟮姆绞皆L問文檔中的元素。情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁P(yáng)ART03案例講解情境一使用BeautifulSoup庫與XPath語法解析網(wǎng)頁知識(shí)準(zhǔn)備#-*-coding:utf-8-*-#frombs4importBeautifulSouphtml_doc='''<divclass="tHeadertHjob"style="display:block;"><h1title="人工智能與湍流/轉(zhuǎn)捩模型研究崗">人工智能與湍流/轉(zhuǎn)捩模型研究崗<inputvalue="130271220"name="hidJobID"id="hidJobID"type="hidden"jt="0"></h1><strong>15-20萬/年</strong>
。。。。。</div>'''soup=BeautifulSoup(html_doc,'lxml')情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁知識(shí)準(zhǔn)備h1=soup.find('h1')print(h1.text)情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁知識(shí)準(zhǔn)備情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁知識(shí)準(zhǔn)備fromlxmlimportetreehtml=etree.HTML(html_doc)result=html.xpath('//div/div/div/h1/text()')[0]print(result)result=html.xpath('//a[@class="catn"]/text()')[0]print(result)情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁P(yáng)ART04總結(jié)情境一使用BeautifulSoup庫與XPath語法解析網(wǎng)頁總結(jié)本情景,主要介紹了BeautifulSoup與XPath等相關(guān)知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握網(wǎng)頁內(nèi)容提取的方式。情境一:使用BeautifulSoup庫與XPath語法解析網(wǎng)頁結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第一單元
采集網(wǎng)絡(luò)數(shù)據(jù)
教學(xué)概述教學(xué)導(dǎo)航1情境一使用BeautifulSoup庫與XPath語法解析網(wǎng)頁2情境二使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)第一單元采集網(wǎng)絡(luò)數(shù)據(jù)情境二使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境二使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)
情景概述
學(xué)習(xí)情境采集網(wǎng)頁數(shù)據(jù)的庫有Urillib、Requests、Scrapy。相較于Urillib、Scrapy,Requests更易于安裝,架構(gòu)更簡(jiǎn)單,使用起來更容易上手。因此學(xué)習(xí)情境就是了解Requests的使用。關(guān)鍵知識(shí)點(diǎn)爬蟲的原理HTTP請(qǐng)求原理情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)
情景概述
關(guān)鍵技能點(diǎn)Requests庫環(huán)境安裝Requests采集網(wǎng)頁使用XPath提取數(shù)據(jù)并存入txt情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)PART02知識(shí)準(zhǔn)備情境二使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)知識(shí)準(zhǔn)備Requests框架介紹Requests是一個(gè)基于Apache2協(xié)議開源的PythonHTTP庫,號(hào)稱是“為人類準(zhǔn)備的HTTP庫”。以上是Requests官網(wǎng)對(duì)其模塊的總體介紹。Requests完全滿足當(dāng)今Web的需求:Keep-Alive&連接池國際化域名和URL帶持久Cookie的會(huì)話瀏覽器式的SSL認(rèn)證自動(dòng)內(nèi)容解碼情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)知識(shí)準(zhǔn)備基本/摘要式的身份認(rèn)證優(yōu)雅的key/valueCookie自動(dòng)解壓Unicode響應(yīng)體HTTP(S)代理支持文件分塊上傳流下載連接超時(shí)分塊請(qǐng)求支持.netrcPART03案例講解情境二使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)知識(shí)準(zhǔn)備importrequests
r=requests.get('/job/index.php?c=comapply&id=5093')print(r.text)payload={'c':'search','keyword':'人工智能'}r=requests.get("/job",params=payload)print("實(shí)際請(qǐng)求的地址:",r.url)情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)知識(shí)準(zhǔn)備importrequests
payload={'c':'search','keyword':'人工智能'}r=requests.get("/job",params=payload)print("編碼:",r.encoding)print("響應(yīng)內(nèi)容:",r.content)情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)知識(shí)準(zhǔn)備importrequestsfromPILimportImagefromioimportBytesIOr=requests.get('/-0U0bnSm1A5BphGlnYG/tam-ogel/ebab86f7705d07cc2293b6eaa210db02_259_194.jpg')i=Image.open(BytesIO(r.content))i.show()情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)知識(shí)準(zhǔn)備importrequests
r=requests.get('/events')data=r.json()print(data)情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)PART04總結(jié)情境二使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)總結(jié)總結(jié)本情景,主要介紹了Http與Requets等相關(guān)知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握爬取網(wǎng)頁的方式。情境二:使用Requests采集網(wǎng)絡(luò)數(shù)據(jù)結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第二單元對(duì)數(shù)據(jù)進(jìn)行處理
教學(xué)概述教學(xué)導(dǎo)航1情境一使用Excel處理數(shù)據(jù)2情境二使用Tabula處理數(shù)據(jù)3情境三使用Kettle處理數(shù)據(jù)CONTENTS目錄情境處理數(shù)據(jù)01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境一使用Excel處理數(shù)據(jù)情境二使用Tabula處理數(shù)據(jù)情景概述
學(xué)習(xí)情境數(shù)據(jù)分析要得到準(zhǔn)確的結(jié)果,就需要高質(zhì)量的數(shù)據(jù)。當(dāng)拿到數(shù)據(jù)之后,首先就需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。對(duì)于小規(guī)模的數(shù)據(jù)集,直接使用Excel處理即可。因此,本情境主要介紹如何使用Excel處理數(shù)據(jù)。關(guān)鍵知識(shí)點(diǎn)Excel分列格式轉(zhuǎn)換Tabula獲取pdf文檔內(nèi)容情境:使用Excel和Tabula處理數(shù)據(jù)
情景概述
關(guān)鍵知識(shí)點(diǎn)Excel格式轉(zhuǎn)換清除重復(fù)值、分列Tabula獲取pdf文檔內(nèi)容情境:使用Excel和Tabula處理數(shù)據(jù)PART02知識(shí)準(zhǔn)備情境一使用Excel處理數(shù)據(jù)情境二使用Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)PART03案例講解情境一使用Excel處理數(shù)據(jù)情境二使用Tabula處理數(shù)據(jù)PART04總結(jié)情境一使用Excel處理數(shù)據(jù)情境二使用Tabula處理數(shù)據(jù)總結(jié)本情景,主要介紹了Excel處理格式、刪除重復(fù)值,使用Tabula提取pdf數(shù)據(jù)等相關(guān)知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何用Excel處理小數(shù)據(jù)集。情境:使用Excel和Tabula處理數(shù)據(jù)結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第二單元對(duì)數(shù)據(jù)進(jìn)行處理
教學(xué)概述教學(xué)導(dǎo)航1情境一使用Excel處理數(shù)據(jù)2情境二使用Tabula處理數(shù)據(jù)3情境三使用Kettle處理數(shù)據(jù)CONTENTS目錄情境處理數(shù)據(jù)01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境一使用Excel處理數(shù)據(jù)情景概述
學(xué)習(xí)情境數(shù)據(jù)分析要得到準(zhǔn)確的結(jié)果,就需要高質(zhì)量的數(shù)據(jù)。當(dāng)拿到數(shù)據(jù)之后,首先就需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。對(duì)于小規(guī)模的數(shù)據(jù)集,直接使用Excel處理即可。因此,本情境主要介紹如何使用Excel處理數(shù)據(jù)。關(guān)鍵知識(shí)點(diǎn)Excel分列格式轉(zhuǎn)換Tabula獲取pdf文檔內(nèi)容情境:使用Excel和Tabula處理數(shù)據(jù)
情景概述
關(guān)鍵知識(shí)點(diǎn)Excel格式轉(zhuǎn)換清除重復(fù)值、分列Tabula獲取pdf文檔內(nèi)容情境:使用Excel和Tabula處理數(shù)據(jù)PART02知識(shí)準(zhǔn)備情境一使用Excel處理數(shù)據(jù)知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)PART03案例講解情境一使用Excel處理數(shù)據(jù)PART04總結(jié)情境一使用Excel處理數(shù)據(jù)總結(jié)本情景,主要介紹了Excel處理格式、刪除重復(fù)值等相關(guān)知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何用Excel處理小數(shù)據(jù)集。情境:使用Excel和Tabula處理數(shù)據(jù)結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第二單元對(duì)數(shù)據(jù)進(jìn)行處理
教學(xué)概述教學(xué)導(dǎo)航1情境一使用Excel處理數(shù)據(jù)2情境二使用Tabula處理數(shù)據(jù)3情境三使用Kettle處理數(shù)據(jù)CONTENTS目錄情境處理數(shù)據(jù)01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境二使用Tabula處理數(shù)據(jù)情景概述
學(xué)習(xí)情境數(shù)據(jù)分析要得到準(zhǔn)確的結(jié)果,就需要高質(zhì)量的數(shù)據(jù)。當(dāng)拿到數(shù)據(jù)之后,首先就需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。對(duì)于小規(guī)模的數(shù)據(jù)集,直接使用Excel處理即可。因此,本情境主要介紹如何使用Excel處理數(shù)據(jù)。關(guān)鍵知識(shí)點(diǎn)Excel分列格式轉(zhuǎn)換Tabula獲取pdf文檔內(nèi)容情境:使用Excel和Tabula處理數(shù)據(jù)
情景概述
關(guān)鍵知識(shí)點(diǎn)Excel格式轉(zhuǎn)換清除重復(fù)值、分列Tabula獲取pdf文檔內(nèi)容情境:使用Excel和Tabula處理數(shù)據(jù)PART02知識(shí)準(zhǔn)備情境二使用Tabula處理數(shù)據(jù)知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹知識(shí)準(zhǔn)備情境:使用Excel和Tabula處理數(shù)據(jù)1.Tabula提取pdf內(nèi)容(1)Tabula安裝下載Tabula的具體地址如下:/tabulapdf/tabula/releases/download/v1.2.1/tabula-win-1.2.1.zipTabula支持Windows、MacOSX、Linux/Other等多個(gè)平臺(tái),這里選擇Windows版本。(2)Tabula使用方法PART03案例講解情境二使用Tabula處理數(shù)據(jù)PART04總結(jié)情境二使用Tabula處理數(shù)據(jù)總結(jié)本情景,主要介紹了使用Tabula提取pdf數(shù)據(jù)等相關(guān)知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何用Excel處理小數(shù)據(jù)集。情境:使用Excel和Tabula處理數(shù)據(jù)結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第二單元對(duì)數(shù)據(jù)進(jìn)行處理
教學(xué)概述教學(xué)導(dǎo)航1情境一使用Excel處理數(shù)據(jù)2情境二使用Tabula處理數(shù)據(jù)3情境三使用Kettle處理數(shù)據(jù)CONTENTS目錄情境三使用Kettle處理數(shù)據(jù)01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境三使用Kettle處理數(shù)據(jù)情景概述
學(xué)習(xí)情境對(duì)于數(shù)據(jù)量相對(duì)較大,處理過程比較復(fù)雜、繁瑣的數(shù)據(jù)集,可以使用Kettle。Kettle支持跨平臺(tái)運(yùn)行,其特性包括:支持無編碼、拖拽方式方式實(shí)現(xiàn)數(shù)據(jù)處理;可對(duì)接包括傳統(tǒng)數(shù)據(jù)庫、文件、大數(shù)據(jù)平臺(tái)、接口、流數(shù)據(jù)等數(shù)據(jù)源等。因此本情境主要介紹Kettle的基本使用。關(guān)鍵知識(shí)點(diǎn)Kettle的基本概念Kettle數(shù)據(jù)處理的流程情境三:使用Kettle處理數(shù)據(jù)情景概述
關(guān)鍵技能點(diǎn)Kettle環(huán)境安裝Kettle的結(jié)構(gòu)與啟動(dòng)方式使用Kettle構(gòu)造工作流使用Kettle清洗數(shù)據(jù)情境三:使用Kettle處理數(shù)據(jù)PART02知識(shí)準(zhǔn)備情境三使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備Kettle的體系結(jié)構(gòu)Kettle是一種用于ETL業(yè)務(wù)的工具。ETL的全稱是Extract-Transform-Load,即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載。很多時(shí)候,我們存在這樣的需求,就是需要將現(xiàn)有數(shù)據(jù)進(jìn)行處理、轉(zhuǎn)換、遷移。在沒有Kettle之前,開發(fā)者需要自行編程,根據(jù)業(yè)務(wù)去處理數(shù)據(jù)。大多數(shù)情況下,業(yè)務(wù)領(lǐng)域的專家并不擅長(zhǎng)程序開發(fā),因此做一個(gè)基本的數(shù)據(jù)處理操作,都需要專業(yè)技術(shù)員定制開發(fā),導(dǎo)致成本、內(nèi)耗增高。有了Kettle之后,非開發(fā)人員就能通過在界面上進(jìn)行可視化操作,完成數(shù)據(jù)處理、清洗等任務(wù)。Kettle是一個(gè)通用的數(shù)據(jù)處理軟件,支持多種數(shù)據(jù)存儲(chǔ)介質(zhì)之間的數(shù)據(jù)轉(zhuǎn)換、遷移,是業(yè)內(nèi)做數(shù)據(jù)處理的常用工具,業(yè)務(wù)人員只需簡(jiǎn)單學(xué)習(xí)就可上手操作。情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備Kettle的體系結(jié)構(gòu)Kettle在邏輯層面上有兩個(gè)重要概念:轉(zhuǎn)換與作業(yè)。轉(zhuǎn)換:處理的是數(shù)據(jù)流。數(shù)據(jù)流是指數(shù)據(jù)在輸入控件與輸出控件之間的流動(dòng)。針對(duì)的是每一個(gè)數(shù)據(jù)項(xiàng)處理。作業(yè):是一系列的步驟組合。作業(yè)的一個(gè)步驟就是一個(gè)轉(zhuǎn)換。作業(yè)將多個(gè)轉(zhuǎn)換在連接一起形成工作流。情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備Kettle的體系結(jié)構(gòu)情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備Kettle的核心組件主要有以下幾個(gè)部分spoon:構(gòu)造轉(zhuǎn)換與作業(yè)的桌面工具pan:用于執(zhí)行spoon構(gòu)建的轉(zhuǎn)換kitchen;用于執(zhí)行spoon構(gòu)建的作業(yè)carte:服務(wù)用于執(zhí)行一個(gè)作業(yè),與kitchen類似。不同之處在于,Carte是一個(gè)后臺(tái)服務(wù),而kitchen執(zhí)行完一個(gè)作業(yè)后就會(huì)自動(dòng)退出情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備Kettle的核心組件主要有以下幾個(gè)部分carte.sh/Carte.bat:啟動(dòng)后臺(tái)/集群服務(wù)命令工具encr.sh/Encr.bat:加密工具import.sh/Import.bat:導(dǎo)入工具kitchen.sh/Kitchen.bat:運(yùn)行作業(yè)的工具pan.sh/Pan.bat:運(yùn)行轉(zhuǎn)換的工具set-pentaho-env.sh/set-pentaho-env.bat:設(shè)置環(huán)境變量的工具spoon.sh/Spoon.bat:用于啟動(dòng)spoon客戶端界面和服務(wù)情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備情境三:使用Kettle處理數(shù)據(jù)PART03案例講解情境三使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備情境三:使用Kettle處理數(shù)據(jù)知識(shí)準(zhǔn)備情境三:使用Kettle處理數(shù)據(jù)PART04總結(jié)情境三使用Kettle處理數(shù)據(jù)總結(jié)本情景,主要介紹了Kettle的基本用法,通過對(duì)案例的學(xué)習(xí),讓同學(xué)們了解Kettle的基本使用步驟
。情境三:使用Kettle處理數(shù)據(jù)結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第三單元對(duì)數(shù)值數(shù)據(jù)進(jìn)行分析
教學(xué)概述教學(xué)導(dǎo)航1情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象2情境二對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換3情境三讀寫招聘信息數(shù)據(jù)集CONTENTS目錄情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象情景概述
學(xué)習(xí)情境NumPy是著名的機(jī)器學(xué)習(xí)三劍客的組件之一,主要用于數(shù)值分析,是機(jī)器學(xué)習(xí)數(shù)據(jù)分析的核心部件。尤其是在圖像處理業(yè)務(wù)中,圖像數(shù)據(jù)就是用NumPy數(shù)組進(jìn)行表示。因此,本情境主要介紹NumPy框架的基本使用。關(guān)鍵知識(shí)點(diǎn)數(shù)組創(chuàng)建數(shù)據(jù)類型數(shù)據(jù)索引情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象
情景概述
關(guān)鍵技能點(diǎn)多維數(shù)組創(chuàng)建數(shù)據(jù)索引情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象PART02知識(shí)準(zhǔn)備情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象知識(shí)準(zhǔn)備
NumPy介紹NumPy的主要數(shù)據(jù)對(duì)象是多維數(shù)組,這個(gè)多維數(shù)組的每一個(gè)元素都Python列表,數(shù)組的維度稱為axes。在數(shù)組中,每個(gè)列表的數(shù)據(jù)類型是相同的。
與獲取普通列表中元素的用法一樣,NumPy數(shù)組也是通過非負(fù)整數(shù)作為下標(biāo)來索引數(shù)據(jù)。NumPy的數(shù)組使用ndarry對(duì)象表示。ndarry有如下屬性:ndim:獲取ndarry的維度數(shù)量itemsize:獲取每一個(gè)元素的存儲(chǔ)空間大小,用字節(jié)表示data:獲取數(shù)組對(duì)象的內(nèi)存地址情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象知識(shí)準(zhǔn)備
dtype:獲取組元素的數(shù)據(jù)類型。除了Python的基礎(chǔ)類型之外,NumPy也提供了自己的數(shù)據(jù)類型,比如int32、int16、float64shape:獲取數(shù)組的形狀。注意:該屬性非常重要。在后續(xù)章節(jié)介紹的數(shù)據(jù)預(yù)處理過程,經(jīng)常會(huì)先觀察數(shù)組形狀,然后調(diào)整數(shù)組形狀,以使數(shù)據(jù)能滿足算法模型的要求size:獲取數(shù)組中元素的個(gè)數(shù)情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象PART03案例講解情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象案例講解#-*-coding:utf-8-*-#
importnumpyasnp
#調(diào)用array函數(shù)將Python列表轉(zhuǎn)為一維數(shù)組a=np.array([12,31,34,8])print("a的維度:",a.ndim)#調(diào)用array函數(shù)將Python列表轉(zhuǎn)為多維數(shù)組b=np.array([(1.5,2.6,3.8),(1.4,2.5,6)])情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象案例講解print("\nb的維度:",b.ndim)#創(chuàng)建數(shù)組時(shí)指定數(shù)據(jù)類型c=np.array([[11,12],[32,41]],dtype=complex)print("\nc為復(fù)數(shù)數(shù)組:\n",c)#創(chuàng)建值為0的數(shù)組d=np.zeros((2,3))print("\nd所有元素為0的數(shù)組:\n",d)#創(chuàng)建值為0的數(shù)組e=np.ones((2,3))print("\ne所有元素為1的數(shù)組:\n",e)情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象案例講解#-*-coding:utf-8-*-#importnumpyasnp
a=np.array([2.8,3.6,5.4])print("數(shù)組a的類型:",a.dtype)b=a.astype(int)print("轉(zhuǎn)換后的類型:",b.dtype)情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象案例講解importnumpyasnp
x=[xforxinrange(5)]a=np.asarray(x)print("一維數(shù)組的索引與切片:")print("原始數(shù)據(jù):",a)print("按下標(biāo)取值:",a[4])print("按2-4范圍切片:",a[2:4])print("按2到全部切片:",a[2:])print("\n")情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象案例講解print("二維數(shù)組的索引與切片:")y=[[10,21,22,33],[16,14,52,53],[21,24,26,93]]b=np.asarray(y)print("取第2行第1列的值:",b[2,1])print("取第1行之后的所有行和第1列的值:",b[1:,1])print("取第1行的值和第1列之后的所有列的值:",b[1,1:])print("取第2行和所有列:",b[2,:])情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象案例講解print("\n使用ix函數(shù):")c=np.ix_([0,1],[2,3])d=b[c]print(d)情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象PART04總結(jié)情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象總結(jié)總結(jié)本情景,主要介紹了NumPy操作數(shù)組的基本知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們對(duì)NumPy工具有個(gè)初步的了解。情境一:NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第三單元對(duì)數(shù)值數(shù)據(jù)進(jìn)行分析
教學(xué)概述教學(xué)導(dǎo)航1情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象2情境二對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換3情境三讀寫招聘信息數(shù)據(jù)集CONTENTS目錄情境2對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境2對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換情景概述
學(xué)習(xí)情境在對(duì)數(shù)據(jù)進(jìn)行分析的時(shí)候,不同的神經(jīng)網(wǎng)絡(luò)接收的數(shù)據(jù)的形狀是不一樣的。因此,為了能將數(shù)據(jù)順利放入模型中,就需要對(duì)數(shù)據(jù)的形狀進(jìn)行改變。因此,本情境主要介紹如何改變NumPy數(shù)組的形狀。關(guān)鍵知識(shí)點(diǎn)形態(tài)變化數(shù)組堆疊數(shù)組拆分情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換
情景概述
關(guān)鍵技能點(diǎn)形態(tài)變化數(shù)組拆分情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換PART02知識(shí)準(zhǔn)備情境2對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換知識(shí)準(zhǔn)備
在對(duì)數(shù)據(jù)進(jìn)行分析的時(shí)候,不同的神經(jīng)網(wǎng)絡(luò)接收的數(shù)據(jù)的形狀是不一樣的。因此,為了能將數(shù)據(jù)順利放入模型中,就需要對(duì)數(shù)據(jù)的形狀進(jìn)行改變。因此,情境2主要介紹如何改變NumPy數(shù)組的形狀。情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換知識(shí)準(zhǔn)備
改變形狀的函數(shù)有:RavelReshapeVstackHstackHsplit情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換知識(shí)準(zhǔn)備1.改變形狀改變數(shù)組的形狀有多種方式。ravel函數(shù)將數(shù)組拉平為一維數(shù)組;reshape函數(shù)修改數(shù)組的行列結(jié)構(gòu),甚至可以將二維數(shù)組轉(zhuǎn)為三維數(shù)組;T是轉(zhuǎn)秩;resize是改變對(duì)應(yīng)維度上列表的大小。情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換練習(xí)3-5:知識(shí)準(zhǔn)備2.堆疊數(shù)組堆疊數(shù)組有4種方式。垂直堆疊、水平堆疊、列堆疊、行堆疊。其中垂直堆疊與行堆疊是同一個(gè)函數(shù)實(shí)現(xiàn);水平堆疊與列堆疊雖然函數(shù)實(shí)現(xiàn)不同,但是堆疊效果是一致的。情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換練習(xí)3-6:知識(shí)準(zhǔn)備2.拆分?jǐn)?shù)組調(diào)用hsplit函數(shù)可以從水平方向上對(duì)數(shù)組進(jìn)行拆分
情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換練習(xí)3-7:PART03案例講解情境2對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換案例講解將展示如何對(duì)招聘數(shù)據(jù)進(jìn)行聚合拆分a1和a2是兩個(gè)數(shù)組,但描述的是同一條數(shù)據(jù)。因此,可以將a1和a2按水平方式拼接。同理,b1和b2也按水平堆疊。最后將兩份堆疊的結(jié)果進(jìn)行垂直堆疊,形成一個(gè)完整的數(shù)據(jù)集。
#-*-coding:utf-8-*-#importnumpyasnpa1=np.asarray(["重慶A公司","大數(shù)據(jù)分析","10000"])a2=np.asarray(["觀音橋","2022年-5月"])b1=np.asarray(["杭州B公司","前端","20000"])b2=np.asarray(["西湖","2022年-4月"])print("水平堆疊:")情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換案例講解c1=np.hstack((a1,a2))print(c1)c2=np.hstack((b1,b2))print(c2)print()print("垂直堆疊:")d=np.vstack((c1,c2))print(d)情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換PART04總結(jié)情境2對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換總結(jié)本情景,主要介紹了NumPy數(shù)組形態(tài)變化,通過對(duì)案例的學(xué)習(xí),讓同學(xué)們知道實(shí)際開發(fā)場(chǎng)景中如何在用NumPy。情境:對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第三單元對(duì)數(shù)值數(shù)據(jù)進(jìn)行分析
教學(xué)概述教學(xué)導(dǎo)航1情境一NumPy創(chuàng)建與索引復(fù)雜數(shù)據(jù)對(duì)象2情境二對(duì)招聘數(shù)據(jù)的數(shù)組進(jìn)行形態(tài)變換3情境三讀寫招聘信息數(shù)據(jù)集CONTENTS目錄情境2、3
數(shù)組變換與應(yīng)用01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境3讀寫招聘信息數(shù)據(jù)集情景概述
學(xué)習(xí)情境使用NumPy進(jìn)行數(shù)據(jù)分析后,需要將結(jié)果進(jìn)行持久化。因此,本情境主要介紹如何使用NumPy對(duì)文件進(jìn)行讀寫。關(guān)鍵知識(shí)點(diǎn)NumPy文件讀寫情境:讀寫招聘信息數(shù)據(jù)集PART02知識(shí)準(zhǔn)備情境3讀寫招聘信息數(shù)據(jù)集知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境:讀寫招聘信息數(shù)據(jù)集知識(shí)準(zhǔn)備
使用NumPy進(jìn)行數(shù)據(jù)分析后,需要將結(jié)果進(jìn)行持久化。因此,情境3主要介紹如何使用NumPy對(duì)文件進(jìn)行讀寫。情境:讀寫招聘信息數(shù)據(jù)集知識(shí)準(zhǔn)備
支持的文件有:讀寫CSV/TXT文本文件讀寫NPY/NPZ文本文件讀寫HDF5文本文件情境:讀寫招聘信息數(shù)據(jù)集知識(shí)準(zhǔn)備#-*-coding:utf-8-*-#importnumpyasnpa=np.asarray([[10,21,22,33],[16,14,52,53]])file='a.csv'#保存為CSV文件np.savetxt(file,a,fmt='%d',delimiter=',')#讀取CSV文件b=np.loadtxt(file,dtype=32,delimiter=',')print(b)1.讀寫CSV/TXT文本文件知識(shí)準(zhǔn)備NPZ與CSV等普通文本文件的存儲(chǔ)方式不一樣。NPZ文件可以同時(shí)存儲(chǔ)多個(gè)數(shù)組,CSV一次只能存儲(chǔ)一個(gè)。同時(shí)NPZ文件支持存儲(chǔ)多維數(shù)組,而CSV則不行。2.讀寫NPY/NPZ文本文件知識(shí)準(zhǔn)備2.讀寫NPY/NPZ文本文件importnumpyasnpa=np.asarray([[[10,21,22,33]],[[16,14,52,53]],[[12,11,32,33]]])b=np.asarray([[10,21,22,33],[16,14,52,53]])file='a.npz'np.savez(file,key1=a,key2=b)c=np.load(file)foriinc.keys():print("鍵為:",i)print("對(duì)應(yīng)的數(shù)組為:\n",c[i])print()知識(shí)準(zhǔn)備3.讀寫HDF5文本文件h5py寫入與讀取文件都調(diào)用File函數(shù),使用參數(shù)'w'(寫)和'r'(讀)進(jìn)行控制。相較于NPZ、CSV,當(dāng)數(shù)組較大時(shí),使用h5py存儲(chǔ)文件更適合,因?yàn)楸4娴奈募w積更小。#-*-coding:utf-8-*-#importh5pyimportnumpyasnpa=np.asarray([[[10,21,22,33]],[[16,14,52,53]],[[12,11,32,33]]])b=np.asarray([[10,21,22,33],[16,14,52,53]])知識(shí)準(zhǔn)備3.讀寫HDF5文本文件file='a.h5'h5=h5py.File(file,'w')h5.create_dataset('key1',data=a)h5.create_dataset('key2',data=b)h5.close()h5=h5py.File(file,'r')foriinh5:print("鍵為:",i)print("對(duì)應(yīng)的數(shù)組為:\n",h5[i][:])print()PART03案例講解情境3讀寫招聘信息數(shù)據(jù)集知識(shí)準(zhǔn)備#-*-coding:utf-8-*-#importh5pyimportnumpyasnpa=np.asarray([10007,60010001,400000])file=r"job_info.csv"b=np.loadtxt(file,dtype=32,delimiter=',')print("加載招聘數(shù)據(jù),第一列為崗位編號(hào),第二列為公司編號(hào),第三列為郵編")c=np.vstack((a,b))
情境:讀寫招聘信息數(shù)據(jù)集知識(shí)準(zhǔn)備file=r"job_info.h5"#寫入h5文件h5=h5py.File(file,'w')h5.create_dataset('key1',data=c)h5=h5py.File(file,'r')print("\n從h5文件加載合并后的數(shù)據(jù):\n",h5["key1"][:])情境:讀寫招聘信息數(shù)據(jù)集PART04總結(jié)情境3讀寫招聘信息數(shù)據(jù)集總結(jié)本情景,主要介紹了NumPy文件讀寫,通過對(duì)案例的學(xué)習(xí),讓同學(xué)們知道實(shí)際開發(fā)場(chǎng)景中如何在用NumPy。情境:讀寫招聘信息數(shù)據(jù)集結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
第四單元對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)以及相關(guān)性進(jìn)行分析智能數(shù)據(jù)分析與應(yīng)用
教學(xué)概述教學(xué)導(dǎo)航第四單元對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)以及相關(guān)性進(jìn)行分析0102情境一使用Pandas訪問不同的數(shù)據(jù)源情境二使用Pandas進(jìn)行數(shù)據(jù)處理03情境三使用Pandas分析招聘數(shù)據(jù)情境一使用Pandas訪問不同的數(shù)據(jù)源01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境一使用Pandas訪問不同的數(shù)據(jù)源
情景概述
學(xué)習(xí)情境一 Pandas是機(jī)器學(xué)習(xí)三劍客之一。其中包含了豐富的數(shù)據(jù)統(tǒng)計(jì)分析函數(shù),對(duì)多種數(shù)據(jù)源支持良好,比如Mysql、PostgreSql等。因此本情境主要介紹如何使用Pandas讀取不同數(shù)據(jù)源的數(shù)據(jù)。關(guān)鍵知識(shí)點(diǎn)Pandas讀寫文件讀寫數(shù)據(jù)庫情境一:使用Pandas訪問不同的數(shù)據(jù)源
情景概述
關(guān)鍵技能點(diǎn)數(shù)據(jù)同步讀寫數(shù)據(jù)庫情境一:使用Pandas訪問不同的數(shù)據(jù)源PART02知識(shí)準(zhǔn)備情境一使用Pandas訪問不同的數(shù)據(jù)源知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境一:使用Pandas訪問不同的數(shù)據(jù)源知識(shí)準(zhǔn)備1.Pandas讀取CSV與Excel文件file_path=r'job_info.csv'job_info=pd.read_table(file_path,sep=',',encoding='gbk')print('job_info.csv文件數(shù)據(jù)行數(shù)為:',len(job_info))
file_path=r'jobs.xlsx'jobs=pd.read_excel(file_path)print('jobs.xlsx文件數(shù)據(jù)行數(shù)為:',len(jobs))job_info.to_csv('job_info_copy.csv',sep='|',index=False)jobs.to_excel('jobs_copy.xlsx')情境一:使用Pandas訪問不同的數(shù)據(jù)源知識(shí)準(zhǔn)備2.Pandas讀取Mysql數(shù)據(jù)engine=create_engine('mysql+pymysql://root:root@localhost:3307/test?charset=utf8')
jobs=pd.read_sql_table('jobs',con=engine)print('jobs表數(shù)據(jù)行數(shù):',len(jobs))
jobs.to_sql('jobs1',con=engine,index=False,if_exists='replace')tables=pd.read_sql_query('showtables',con=engine)print('寫入數(shù)據(jù)庫后test的表為:','\n',tables)情境一:使用Pandas訪問不同的數(shù)據(jù)源知識(shí)準(zhǔn)備3.Pandas讀取PostgreSQL數(shù)據(jù)engine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8')users=pd.read_sql_table('user',con=engine)print('users表數(shù)據(jù)行數(shù):',len(users))users.to_sql('users1',con=engine,index=False,if_exists='replace')tables=pd.read_sql_query("select*frompg_tableswhereschemaname='public'",con=engine)print('寫入數(shù)據(jù)庫后postgres的表為:','\n',tables)情境一:使用Pandas訪問不同的數(shù)據(jù)源PART03案例講解情境一使用Pandas訪問不同的數(shù)據(jù)源案例講解按照本章節(jié)所涉及的知識(shí)面及知識(shí)點(diǎn),作為下一步工作實(shí)施參考案例。本案例將展示如何使用Pandas實(shí)現(xiàn)Mysql到PostgreSQL之間的數(shù)據(jù)同步。首先,創(chuàng)建數(shù)據(jù)庫連接引擎用于連接PostgreSQLengine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8’)然后讀取PostgreSQL數(shù)據(jù)庫jobs=pd.read_sql_table('jobs',con=mysql_engine)情境一:使用Pandas訪問不同的數(shù)據(jù)源案例講解之后創(chuàng)建連接Mysql的數(shù)據(jù)引擎對(duì)象pg_engine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8’)最后調(diào)用to_sql寫入數(shù)據(jù)庫jobs.to_sql('pg_jobs',con=pg_engine,index=False,if_exists='replace')情境一:使用Pandas訪問不同的數(shù)據(jù)源PART04總結(jié)情境一使用Pandas訪問不同的數(shù)據(jù)源總結(jié)本情景,主要介紹了Pandas讀取Mysql,PostgreSql,CSV等數(shù)據(jù)源,通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何使用Pandas對(duì)文本數(shù)據(jù)、關(guān)系型數(shù)據(jù)庫進(jìn)行讀寫。情境一:使用Pandas訪問不同的數(shù)據(jù)源結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
第四單元對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)以及相關(guān)性進(jìn)行分析智能數(shù)據(jù)分析與應(yīng)用
教學(xué)概述教學(xué)導(dǎo)航第四單元對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)以及相關(guān)性進(jìn)行分析0102情境一使用Pandas訪問不同的數(shù)據(jù)源情境二使用Pandas進(jìn)行數(shù)據(jù)處理03情境三使用Pandas分析招聘數(shù)據(jù)情境二使用Pandas進(jìn)行數(shù)據(jù)分析01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境二使用Pandas進(jìn)行數(shù)據(jù)分析
情景概述
學(xué)習(xí)情境二 Pandas具有豐富的API,可以對(duì)數(shù)據(jù)進(jìn)行進(jìn)行清洗、轉(zhuǎn)換。對(duì)于復(fù)雜的邏輯,還支持自定義函數(shù)。因此本情境主要介紹在分析招聘數(shù)據(jù)時(shí),如何使用Pandas來對(duì)數(shù)據(jù)進(jìn)行刪除、修改等操作。關(guān)鍵知識(shí)點(diǎn):
數(shù)據(jù)插值、刪除、修改、過濾
自定義函數(shù)關(guān)鍵技能點(diǎn):
自定義函數(shù)情境二:使用Pandas進(jìn)行數(shù)據(jù)處理PART02知識(shí)準(zhǔn)備情境二使用Pandas進(jìn)行數(shù)據(jù)分析知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境二:使用Pandas進(jìn)行數(shù)據(jù)處理案例講解1.數(shù)據(jù)過濾與刪除jobs=pd.read_sql_table('jobs',con=engine)print("過濾前的數(shù)據(jù)長(zhǎng)度:",len(jobs))filter_jobs=jobs[(jobs['count']==5)&(jobs['province']=='河南’)]jobs.drop(labels=‘job_id',axis=1,inplace=True)jobs.drop(labels=range(0,5),axis=0,inplace=True)情境二:使用Pandas進(jìn)行數(shù)據(jù)處理案例講解2.數(shù)據(jù)插值series=pd.Series([1,np.nan,33,np.nan,np.nan,5])series.fillna(1.0,inplace=True)df=pd.DataFrame()df['val']=[1,2,np.nan,6.1,np.nan,np.nan]df['val']=df['val'].interpolate(method='linear')情境二:使用Pandas進(jìn)行數(shù)據(jù)處理案例講解3.自定義函數(shù)df=pd.DataFrame(series)deff(item):ifisinstance(item,int):returnstr((item/10000))+"萬"returnitem
newDf=df.applymap(f)print(newDf)情境二:使用Pandas進(jìn)行數(shù)據(jù)處理PART03案例講解情境二使用Pandas進(jìn)行數(shù)據(jù)分析案例講解案例將演示如何對(duì)招聘數(shù)據(jù)信息進(jìn)行處理首先讀取jobs.xlsx中的內(nèi)容。由于文件中“訪問時(shí)間”列的數(shù)據(jù)格式不一致,因此這里調(diào)用pandas的apply函數(shù),設(shè)置回調(diào)函數(shù)format_date對(duì)日期進(jìn)行處理。處理完畢后創(chuàng)建連接Postgre的數(shù)據(jù)引擎對(duì)象,將結(jié)果存入數(shù)據(jù)庫。jobs=pd.read_excel(file_path)defformat_date(item):item["訪問時(shí)間"]="{}-{}-{}".format(item["訪問時(shí)間"].year,item["訪問時(shí)間"].month,item["訪問時(shí)間"].day)returnitem情境二:使用Pandas進(jìn)行數(shù)據(jù)處理案例講解new_df=jobs.apply(format_date,axis=1)engine=create_engine("postgresql+psycopg2://postgres:postgre@localhost:5432/postgres",encoding="utf-8")new_df.to_sql("log",con=engine,index=False,if_exists="replace")data=pd.read_sql_query("select訪問時(shí)間fromlog",con=engine)print("插入數(shù)數(shù)據(jù)庫的內(nèi)容為:","\n",data)情境二:使用Pandas進(jìn)行數(shù)據(jù)處理PART04總結(jié)情境二使用Pandas進(jìn)行數(shù)據(jù)分析總結(jié)本情景,主要介紹了Pandas如何進(jìn)行過濾、刪除等數(shù)據(jù)處理技術(shù),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何使用Pandas對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。情境二:使用Pandas進(jìn)行數(shù)據(jù)處理結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第四單元對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)以及相關(guān)性進(jìn)行分析
教學(xué)概述教學(xué)導(dǎo)航1情境一使用Pandas訪問不同的數(shù)據(jù)源2情境二使用Pandas進(jìn)行數(shù)據(jù)處理3情境三使用Pandas分析招聘數(shù)據(jù)CONTENTS目錄情境三使用Pandas分析招聘數(shù)據(jù)01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境三使用Pandas分析招聘數(shù)據(jù)情景概述
學(xué)習(xí)情境對(duì)數(shù)據(jù)處理后,更多的是對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。比如排序、求最大最小、求平均、求和、分組求平均、分組求和。因此,本情境主要介紹在分析招聘數(shù)據(jù)過程中,使用到的Pandas統(tǒng)計(jì)分析相關(guān)的功能。關(guān)鍵知識(shí)點(diǎn)數(shù)據(jù)排序數(shù)據(jù)相關(guān)性分組統(tǒng)計(jì)聚合統(tǒng)計(jì)情境三使用Pandas分析招聘數(shù)據(jù)情景概述
關(guān)鍵技能點(diǎn)數(shù)據(jù)相關(guān)性分組統(tǒng)計(jì)聚合統(tǒng)計(jì)情境三使用Pandas分析招聘數(shù)據(jù)PART02知識(shí)準(zhǔn)備情境三使用Pandas分析招聘數(shù)據(jù)知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境三使用Pandas分析招聘數(shù)據(jù)PART03案例講解情境三使用Pandas分析招聘數(shù)據(jù)案例講解1.數(shù)據(jù)排序df=pd.DataFrame(series)df1=df.sort_index(axis=1)print("按列名排序:")print(df1)print()df2=df.sort_values(by=["salary"])print("按值排序:")print(df2)情境三使用Pandas分析招聘數(shù)據(jù)案例講解2.數(shù)據(jù)相關(guān)性series={"work":pd.Series([9,1,1,3,10,12]),"salary":pd.Series([20000,4000,2500,5000,67000,75000])}df=pd.DataFrame(series)data=df["salary"].corr(df["work"])print("salary與work的相關(guān)性:")print(data)情境三使用Pandas分析招聘數(shù)據(jù)案例講解3.分組統(tǒng)計(jì)file_path=r'job_info_header.csv'job_info=pd.read_table(file_path,sep=',',encoding='gbk')group_data=job_info.groupby("崗位名稱")forgroup_name,memberingroup_data:print("分組名稱:",group_name,"\n","組成員:",member)print()情境三使用Pandas分析招聘數(shù)據(jù)案例講解4.聚合統(tǒng)計(jì)print("en列總成績(jī):",df["en"].aggregate(np.sum))print("math列總成績(jī):",df["math"].aggregate(np.sum))print()print("多列匯總:")print("math列總成績(jī):",df[["math","en"]].aggregate(np.sum))print()print("多列進(jìn)行多種聚合:")print("math列總成績(jī):",df[["math","en"]].aggregate([np.sum,np.mean]))情境三使用Pandas分析招聘數(shù)據(jù)PART04總結(jié)情境三使用Pandas分析招聘數(shù)據(jù)總結(jié)本情景,主要介紹了Pandas聚合分析的知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何使用Pandas對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。情境三使用Pandas分析招聘數(shù)據(jù)結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第五單元數(shù)據(jù)可視化
教學(xué)概述教學(xué)導(dǎo)航情境一掌握Matplotlib的基本應(yīng)用1情境一掌握Matplotlib的基本應(yīng)用2情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析3情境三使用Seaborn對(duì)招聘數(shù)據(jù)進(jìn)行進(jìn)一步分析CONTENTS目錄情境一掌握Matplotlib的基本應(yīng)用01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境一掌握Matplotlib的基本應(yīng)用情景概述
學(xué)習(xí)情境在進(jìn)行招聘數(shù)據(jù)分析時(shí)常需要對(duì)數(shù)據(jù)進(jìn)行可視化分析。Matplotlib是機(jī)器學(xué)習(xí)三劍客之一,對(duì)Python語言支持良好,圖形種類豐富。因此本學(xué)習(xí)情境是了解Matplotlib的基本知識(shí)與基本應(yīng)用,了解如何導(dǎo)入Matplotlib包,以及繪制不同的圖形。關(guān)鍵知識(shí)點(diǎn)Matplotlib基本結(jié)構(gòu)Matplotlib繪制基本圖形情境一掌握Matplotlib的基本應(yīng)用
情景概述
關(guān)鍵技能點(diǎn)Matplotlib基本結(jié)構(gòu)Matplotlib繪圖原理Matplotlib繪圖流程情境一掌握Matplotlib的基本應(yīng)用PART02知識(shí)準(zhǔn)備情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備1.Matplotlib的基本結(jié)構(gòu)繪圖的步驟:首先導(dǎo)入matplotlib.pyplot模塊,然后準(zhǔn)備數(shù)據(jù),最后調(diào)用plot函數(shù)傳入數(shù)據(jù),即可繪圖data=list(range(10,50))plt.plot(data)plt.ylabel("基本直線",fontproperties="SimHei")plt.show()情境一掌握Matplotlib的基本應(yīng)用2.修改圖形樣式x=list(range(10,50))y=list(range(30,70))plt.plot(x,y,"ro")plt.ylabel("傳入多個(gè)值",fontproperties="SimHei")plt.show()情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備3.使用NumPy數(shù)據(jù)繪圖x=np.array(list(range(10,30)))y=np.array(list(range(20,40)))
plt.plot(x,y,"r+",x*np.sin(2),y*np.cos(3),"b*")plt.ylabel("傳入多個(gè)值",fontproperties="SimHei")plt.show()情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備4.使用Pandas數(shù)據(jù)繪制柱狀圖plt.rcParams['font.sans-serif']=['SimHei']series={"name":pd.Series(["wanglin","ligao","xiyong","shenhao","shangzhen","liweida"]),"en":pd.Series([80,60,25,80,67,85])}df=pd.DataFrame(series)x,y=df["name"],df["en"]plt.bar(x,y,color="r")
plt.show()情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備5.繪制餅圖labels=["AI算法工程師","大數(shù)據(jù)開發(fā)工程師","前端開發(fā)工程師","Java開發(fā)工程師","Python爬蟲開發(fā)工程師"]data=[11,15,21,7,12]color=["red","green","blue","yellow","cyan"]explode=(0,0,0,0.1,0)plt.pie(data,explode=explode,labels=labels,autopct="%1.2f%%",startangle=130)plt.title("各崗位的招聘人數(shù)")plt.show()情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備6.通過子圖同時(shí)顯示多個(gè)崗位信息engine=create_engine('postgresql+psycopg2://postgres:postgre@localhost:5432/postgres',encoding='utf-8’)
plt.subplot(211)df=pd.read_sql_query("SELECTprovince,count(1)countfrompg_jobsGROUPBYprovince",con=engine)s=[100]color=["r"]plt.scatter(x=list(df["province"]),y=list(df["count"]),s=s,c=color)plt.xlabel("相關(guān)城市")情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備plt.subplot(212)df=pd.read_sql_query("SELECTprovince,sum(count)totalfrompg_jobsGROUPBYprovince",con=engine)x,y=df["province"],df["total"]plt.bar(x,y,color="r")plt.xlabel("每個(gè)城市的數(shù)量求和")
plt.show()情境一掌握Matplotlib的基本應(yīng)用知識(shí)準(zhǔn)備PART03案例講解情境一掌握Matplotlib的基本應(yīng)用按照本章節(jié)所涉及的知識(shí)面及知識(shí)點(diǎn),使用Pandas讀取數(shù)據(jù)庫數(shù)據(jù)并使用氣泡圖進(jìn)行數(shù)據(jù)可視化展示。很多時(shí)候,采用散點(diǎn)圖不能滿足要求。因?yàn)樯Ⅻc(diǎn)圖只能反映數(shù)據(jù)出現(xiàn)在哪些地方,如何分布,但是不知道該具體分布的大小。因此為了獲取更多的信息,多時(shí)候采用的是氣泡圖。情境一掌握Matplotlib的基本應(yīng)用案例講解PART04總結(jié)情境一掌握Matplotlib的基本應(yīng)用總結(jié)
本情景,主要介紹了Matplotlib等相關(guān)知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何使用Matplotlib繪圖。情境一掌握Matplotlib的基本應(yīng)用結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第五單元數(shù)據(jù)可視化
教學(xué)概述教學(xué)導(dǎo)航情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析1情境一掌握Matplotlib的基本應(yīng)用2情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析3情境三使用Seaborn對(duì)招聘數(shù)據(jù)進(jìn)行進(jìn)一步分析CONTENTS目錄情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析情景概述
學(xué)習(xí)情境針對(duì)不同的分析需求時(shí),需要選擇合適的圖形。不同的圖形,包含了不同的含義。因此本學(xué)習(xí)情境是針對(duì)具體業(yè)務(wù),選擇合適的Matplotlib圖形。關(guān)鍵知識(shí)點(diǎn)使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行分析情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析
情景概述
關(guān)鍵技能點(diǎn)解讀數(shù)據(jù)含義情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析PART02知識(shí)準(zhǔn)備情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析知識(shí)準(zhǔn)備1.通過子圖同時(shí)顯示多個(gè)崗位信息在一張畫布上繪制多個(gè)圖,以觀察數(shù)據(jù)的整體情況。情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析代碼plt.subplot(211)表示創(chuàng)建組圖,其中211的含義是:2:表示兩行的畫布1:表示畫布只有1列1:表示放在這個(gè)畫布的第一行第一個(gè)位置知識(shí)準(zhǔn)備2.分析各區(qū)域招聘量占比情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析知識(shí)準(zhǔn)備3.分析熱門崗位
熱門崗位是指點(diǎn)擊量比較多的崗位。本樣例將讀取崗位數(shù)據(jù),并對(duì)各崗位進(jìn)行分組,然后最點(diǎn)擊數(shù)求和,最后將求和的結(jié)果進(jìn)行降序排列。情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析PART03案例講解情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析案例講解1.實(shí)現(xiàn)思路
對(duì)于熱門城市,就是在數(shù)據(jù)集中出現(xiàn)次數(shù)最多的城市,因此這里只需對(duì)城市進(jìn)行分組統(tǒng)計(jì),并篩選出前5個(gè);對(duì)分析找工作的熱門時(shí)間,則以用戶瀏覽招聘網(wǎng)站的時(shí)間進(jìn)行分組,并對(duì)其進(jìn)行排序;工作年限與薪資關(guān)聯(lián)關(guān)系可以直接使用折線圖,即可看出其相互之間是否存在關(guān)聯(lián)。2.編程實(shí)現(xiàn)情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析PART04總結(jié)情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析總結(jié)
本情景,主要介紹了Matplotlib等相關(guān)知識(shí),通過對(duì)案例的學(xué)習(xí),讓同學(xué)們掌握如何使用Matplotlib繪圖。情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析結(jié)束課程名稱:智能數(shù)據(jù)分析與應(yīng)用
智能數(shù)據(jù)分析與應(yīng)用第五單元數(shù)據(jù)可視化
教學(xué)概述教學(xué)導(dǎo)航情境三:Seaborn數(shù)據(jù)可視化1情境一掌握Matplotlib的基本應(yīng)用2情境二使用Matplotlib對(duì)招聘數(shù)據(jù)進(jìn)行可視化分析3情境三使用Seaborn對(duì)招聘數(shù)據(jù)進(jìn)行進(jìn)一步分析CONTENTS目錄情境三Seaborn數(shù)據(jù)可視化01030204情景概述知識(shí)準(zhǔn)備案例講解總結(jié)PART01情境概述情境三Seaborn數(shù)據(jù)可視化
情景概述
學(xué)習(xí)情境:
針對(duì)不同的分析需求時(shí),需要選擇合適的圖形。不同的圖形,包含了不同的含義。因此本學(xué)習(xí)情境是針對(duì)具體業(yè)務(wù),選擇合適的Matplotlib圖形。
Matplotlib圖形存在一定的局限。比如對(duì)數(shù)據(jù)進(jìn)行分組顯示、分析數(shù)據(jù)的集中程度。繪制這類圖形往往需要更多的代碼。而Seaborn針對(duì)這類情境來說,實(shí)現(xiàn)起來相對(duì)容易。因此本學(xué)習(xí)情境,就是了解Matplotlib的擴(kuò)展圖形框架Seaborn的使用。關(guān)鍵知識(shí)點(diǎn):數(shù)據(jù)分組可視化數(shù)據(jù)分組可視化情境三:Seaborn數(shù)據(jù)可視化
情景概述
關(guān)鍵技能點(diǎn):數(shù)據(jù)分組多維數(shù)據(jù)關(guān)聯(lián)分析下的數(shù)據(jù)可視化情境三:Seaborn數(shù)據(jù)可視化PART02知識(shí)準(zhǔn)備情境三Seaborn數(shù)據(jù)可視化知識(shí)準(zhǔn)備知識(shí)點(diǎn)介紹情境三:Seaborn數(shù)據(jù)可視化1.繪制分類散點(diǎn)圖importseabornassnsimportmatplotlib.pyplotasplt
sns.set(style="whitegrid")titanic=sns.load_dataset("titanic",data_home=r"D:\seaborn-data")sns.stripplot(x="class",y="age",data=titanic)plt.show()情境三:Seaborn數(shù)據(jù)可視化知識(shí)準(zhǔn)備2.繪制分簇散點(diǎn)圖importseabornassnsimportmatplotlib.pyplotasplt
sns.set(style="whitegrid")titanic=sns.load_dataset("titanic",data_home=r"D:\seaborn-data")sns.swarmplot(x=titanic["fare"])plt.show()情境三:Seaborn數(shù)據(jù)可視化知識(shí)準(zhǔn)備3.繪制箱線圖importseabornassnsimportmatplotlib.pyplotasplt
sns.set(style="whitegrid")titanic=sns.load_dataset("titanic",data_home=r"D:\seaborn-data")sns.boxplot(x="sex",y="age",data=titanic)plt.show()情境三:Seaborn數(shù)據(jù)可視化知識(shí)準(zhǔn)備4.繪制熱力圖importmatplotlib.pyplotaspltimportseabornassns
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通標(biāo)線涂料采購合同范例
- 租賃車輛運(yùn)營合同范例
- 大米訂單合同范例
- 特殊經(jīng)營合同范例
- 網(wǎng)絡(luò)活動(dòng)策劃合同范例
- 建筑幕墻檢測(cè)合同范例
- 供應(yīng)鏈倉儲(chǔ)租賃合同范例
- 私廚合作合同范例
- 回收餐飲油脂合同范例
- 便利店出租合同范例
- 汽車認(rèn)識(shí)實(shí)訓(xùn)課件
- 輪機(jī)工程材料18章總結(jié)
- 公路管理行業(yè)支撐性科研課題立項(xiàng)評(píng)審評(píng)分標(biāo)準(zhǔn)表
- 單招面試技巧范文
- GB/T 5195.1-2006螢石氟化鈣含量的測(cè)定
- (職高)高一語文期末測(cè)試題及答案解析
- 2023年自考傳播學(xué)概論試題及答案
- 2023年青馬工程培訓(xùn)班結(jié)業(yè)考試題庫
- 紅色簡(jiǎn)約大氣年會(huì)晚會(huì)節(jié)目單
- 2023年住院醫(yī)師規(guī)范化培訓(xùn)胸外科出科考試
- 三九企業(yè)集團(tuán)商標(biāo)權(quán)資產(chǎn)評(píng)估報(bào)告書
評(píng)論
0/150
提交評(píng)論