商務(wù)大數(shù)據(jù)分析導(dǎo)論 課件 項(xiàng)目三 數(shù)據(jù)采集與整_第1頁(yè)
商務(wù)大數(shù)據(jù)分析導(dǎo)論 課件 項(xiàng)目三 數(shù)據(jù)采集與整_第2頁(yè)
商務(wù)大數(shù)據(jù)分析導(dǎo)論 課件 項(xiàng)目三 數(shù)據(jù)采集與整_第3頁(yè)
商務(wù)大數(shù)據(jù)分析導(dǎo)論 課件 項(xiàng)目三 數(shù)據(jù)采集與整_第4頁(yè)
商務(wù)大數(shù)據(jù)分析導(dǎo)論 課件 項(xiàng)目三 數(shù)據(jù)采集與整_第5頁(yè)
已閱讀5頁(yè),還剩140頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)挖掘及其方法目錄01.數(shù)據(jù)挖掘02.數(shù)據(jù)挖掘技術(shù)的演進(jìn)03.數(shù)據(jù)挖掘的目的04.數(shù)據(jù)挖掘的方法05.數(shù)據(jù)挖掘的基本步驟數(shù)據(jù)挖掘PARTONE1.1數(shù)據(jù)挖掘的定義數(shù)據(jù)挖掘(DataMining)是指通過(guò)大量數(shù)據(jù)集進(jìn)行分類的自動(dòng)化過(guò)程,以通過(guò)數(shù)據(jù)分析來(lái)識(shí)別趨勢(shì)和模式,建立關(guān)系來(lái)解決業(yè)務(wù)問(wèn)題。換句話說(shuō),數(shù)據(jù)挖掘是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識(shí)的過(guò)程。011.2與數(shù)據(jù)分析的區(qū)別數(shù)據(jù)分析和數(shù)據(jù)挖掘都是從數(shù)據(jù)庫(kù)中發(fā)現(xiàn)知識(shí),所以我們稱數(shù)據(jù)分析和數(shù)據(jù)挖掘叫做數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn)。嚴(yán)格來(lái)講,數(shù)據(jù)挖掘才是真正意義上的數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn)(KnowledgeDiscoveryinDatabase,KDD)。數(shù)據(jù)分析是從數(shù)據(jù)庫(kù)中通過(guò)統(tǒng)計(jì)、計(jì)算、抽樣等相關(guān)的方法,獲取基于數(shù)據(jù)表象的知識(shí),數(shù)據(jù)分析是從數(shù)據(jù)庫(kù)里面得到一些表象性的信息。數(shù)據(jù)分析1.2與數(shù)據(jù)分析的區(qū)別數(shù)據(jù)挖掘數(shù)據(jù)挖掘是從數(shù)據(jù)庫(kù)中通過(guò)機(jī)器學(xué)習(xí)或者是通過(guò)數(shù)學(xué)算法等相關(guān)的方法獲取深層次的知識(shí)(比如屬性之間的規(guī)律性,或者是預(yù)測(cè))的技術(shù)。1.3數(shù)據(jù)挖掘利弊數(shù)據(jù)挖掘可以應(yīng)用于任何類型的信息存儲(chǔ)庫(kù)及瞬態(tài)數(shù)據(jù)(如數(shù)據(jù)流),如數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市、事務(wù)數(shù)據(jù)庫(kù)、空間數(shù)據(jù)庫(kù)(如地圖等)、工程設(shè)計(jì)數(shù)據(jù)(如建筑設(shè)計(jì)等)、多媒體數(shù)據(jù)(文本、圖像、視頻、音頻)、網(wǎng)絡(luò)、數(shù)據(jù)流、時(shí)間序列數(shù)據(jù)庫(kù)等1.3數(shù)據(jù)挖掘利弊數(shù)據(jù)挖掘所需要的數(shù)據(jù)集是很大的,只有數(shù)據(jù)集越大,得到的規(guī)律才能越貼近于正確的實(shí)際的規(guī)律,結(jié)果也才越準(zhǔn)確。但數(shù)據(jù)往往都是不完整的。01數(shù)據(jù)集大且不完整。數(shù)據(jù)挖掘存在不準(zhǔn)確性,主要是由噪聲數(shù)據(jù)造成的,這些不正常的絕對(duì)不可能出現(xiàn)的數(shù)據(jù),就叫做噪聲,它們會(huì)導(dǎo)致數(shù)據(jù)挖掘存在不準(zhǔn)確性。02數(shù)據(jù)的不準(zhǔn)確性數(shù)據(jù)挖掘是模糊的和隨機(jī)的。這里的模糊可以和不準(zhǔn)確性相關(guān)聯(lián)。03數(shù)據(jù)的模糊性和隨機(jī)性數(shù)據(jù)挖掘技術(shù)的演進(jìn)PARTTWO在過(guò)去很多年,首要原則模型(first-principlemodels)是科學(xué)工程領(lǐng)域最為經(jīng)典的模型。比如你要想知道某輛車從啟動(dòng)到速度穩(wěn)定行駛的距離,那么你會(huì)先統(tǒng)計(jì)從啟動(dòng)到穩(wěn)定耗費(fèi)的時(shí)間、穩(wěn)定后的速度、加速度等參數(shù);然后運(yùn)用牛頓第二定律(或者其他物理學(xué)公式)建立模型,最后根據(jù)該車多次實(shí)驗(yàn)的結(jié)果列出方程組從而計(jì)算出模型的各個(gè)參數(shù)。通過(guò)該過(guò)程,你就相當(dāng)于學(xué)習(xí)到了一個(gè)知識(shí)——某輛車從啟動(dòng)到速度穩(wěn)定行駛的具體模型。2.1更便捷的開(kāi)發(fā)模型2.1更便捷的開(kāi)發(fā)模型

然而,在數(shù)據(jù)挖掘的思想中,知識(shí)的學(xué)習(xí)是不需要通過(guò)具體問(wèn)題的專業(yè)知識(shí)建模。如果之前已經(jīng)記錄下了100輛型號(hào)性能相似的車,從啟動(dòng)到速度穩(wěn)定行駛的距離,那么我就能夠?qū)@100個(gè)數(shù)據(jù)求均值,從而得到結(jié)果。數(shù)據(jù)挖掘理論涉及到的面很廣,它實(shí)際上起源于多個(gè)學(xué)科。如建模部分主要起源于統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)。統(tǒng)計(jì)學(xué)方法以模型為驅(qū)動(dòng),常常建立一個(gè)能夠產(chǎn)生數(shù)據(jù)的模型。而機(jī)器學(xué)習(xí)則以算法為驅(qū)動(dòng),讓計(jì)算機(jī)通過(guò)執(zhí)行算法來(lái)發(fā)現(xiàn)知識(shí)。2.2計(jì)算機(jī)技術(shù)的發(fā)展2.3預(yù)測(cè)數(shù)據(jù)挖掘的真正價(jià)值在于能夠以數(shù)據(jù)中的模式和關(guān)系的形式挖掘隱藏的寶石,這可以用來(lái)做出對(duì)企業(yè)有重大影響的預(yù)測(cè)。過(guò)去應(yīng)用于銷售模式和客戶行為的數(shù)據(jù)挖掘都可用于創(chuàng)建預(yù)測(cè)未來(lái)銷售和行為的模型數(shù)據(jù)挖掘的目的PARTTHREE數(shù)據(jù)挖掘的兩大基本目的是預(yù)測(cè)和描述數(shù)據(jù),其中前者的計(jì)算機(jī)建模及實(shí)現(xiàn)過(guò)程通常被稱為監(jiān)督學(xué)習(xí)(supervisedlearning),后者的則通常被稱為無(wú)監(jiān)督學(xué)習(xí)(supervisedlearning)。數(shù)據(jù)挖掘的目的數(shù)據(jù)挖掘的目的01預(yù)測(cè)數(shù)據(jù)對(duì)當(dāng)前數(shù)據(jù)進(jìn)行推斷,以做出預(yù)測(cè)。02描述數(shù)據(jù)描述數(shù)據(jù)庫(kù)中數(shù)據(jù)的一般性質(zhì)。描述主要包括:聚類——將樣本劃分為不同類(無(wú)預(yù)定義類),關(guān)聯(lián)規(guī)則發(fā)現(xiàn)——發(fā)現(xiàn)數(shù)據(jù)集中不同特征的相關(guān)性。這是指找出數(shù)據(jù)間潛在的關(guān)聯(lián)模式。數(shù)據(jù)挖掘的方法PARTFOUR數(shù)據(jù)挖掘的常用方法由于本身良好的魯棒性、自組織自適應(yīng)性、并行處理、分布存儲(chǔ)和高度容錯(cuò)等特性非常適合解決數(shù)據(jù)挖掘的問(wèn)題,因此近年來(lái)越來(lái)越受到關(guān)注。神經(jīng)網(wǎng)絡(luò)方法01基于生物自然選擇與遺傳機(jī)理的隨機(jī)搜索算法,是一種仿生全局優(yōu)化方法。遺傳算法具有的隱含并行、易于和其它模型結(jié)合等性質(zhì)使得它在數(shù)據(jù)挖掘中被加以應(yīng)用。遺傳算法02常用于預(yù)測(cè)模型的算法,它通過(guò)將大量數(shù)據(jù)有目的分類,從中找到一些有價(jià)值的,潛在的信息。它的主要優(yōu)點(diǎn)是描述簡(jiǎn)單,分類速度快,特別適合大規(guī)模的數(shù)據(jù)處理。。決策樹(shù)方法03不需要給出額外信息;簡(jiǎn)化輸入信息的表達(dá)空間;算法簡(jiǎn)單,易于操作。粗集處理的對(duì)象是類似二維關(guān)系表的信息表。粗集方法04數(shù)據(jù)挖掘的常用方法利用覆蓋所有正例、排斥所有反例的思想來(lái)尋找規(guī)則。覆蓋正例排斥反例方法05在數(shù)據(jù)庫(kù)字段項(xiàng)之間存在兩種關(guān)系:函數(shù)關(guān)系和相關(guān)關(guān)系,對(duì)它們的分析可采用統(tǒng)計(jì)學(xué)方法,即利用統(tǒng)計(jì)學(xué)原理對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行分析。統(tǒng)計(jì)分析方法06利用模糊集合理論對(duì)實(shí)際問(wèn)題進(jìn)行模糊評(píng)判、模糊決策、模糊模式識(shí)別和模糊聚類分析。系統(tǒng)的復(fù)雜性越高,模糊性越強(qiáng),一般模糊集合理論是用隸屬度來(lái)刻畫(huà)模糊事物的亦此亦彼性的。模糊集方法075數(shù)據(jù)挖掘的基本步驟解讀需求評(píng)估模型預(yù)處理數(shù)據(jù)搜集數(shù)據(jù)絕大多數(shù)的數(shù)據(jù)挖掘工程都是針對(duì)具體領(lǐng)域的,因此數(shù)據(jù)挖掘不應(yīng)該沉浸在自己的算法模型世界里在大型公司,數(shù)據(jù)搜集大都是從其他業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)提取。預(yù)處理數(shù)據(jù)可主要分為數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)歸約兩部分。其中前者包含了缺失值處理、異常值處理、歸一化、平整化、時(shí)間序列加權(quán)等;而后者主要包含維度歸約、值歸約、以及案例歸約。在不同的模型之間做出選擇,找到最優(yōu)模型解釋模型如何針對(duì)具體業(yè)務(wù)情景對(duì)模型做出合理解釋也是一項(xiàng)非常重要的任務(wù)。python數(shù)據(jù)采集實(shí)例目錄01.Python爬蟲(chóng)02.從網(wǎng)頁(yè)獲取數(shù)據(jù)03.使用requests庫(kù)請(qǐng)求網(wǎng)站04.使用BeautifulSoup解析網(wǎng)頁(yè)05.清洗和組織數(shù)據(jù)06.防爬蟲(chóng)機(jī)制Python爬蟲(chóng)PARTONEPython爬蟲(chóng)爬蟲(chóng)可以形象的理解為在網(wǎng)絡(luò)上爬行的一直蜘蛛,將互聯(lián)網(wǎng)就比作一張大網(wǎng),而爬蟲(chóng)便是在這張網(wǎng)上爬來(lái)爬去的蜘蛛,如果它遇到資源,那么它就會(huì)抓取下來(lái)。比如它在抓取一個(gè)網(wǎng)頁(yè),在這個(gè)網(wǎng)中他發(fā)現(xiàn)了一條道路,其實(shí)就是指向網(wǎng)頁(yè)的超鏈接,那么它就可以爬到另一張網(wǎng)上來(lái)獲取數(shù)據(jù)。01從網(wǎng)頁(yè)獲取數(shù)據(jù)PARTTWO以某網(wǎng)站首頁(yè)()為例,抓取首頁(yè)首條信息(標(biāo)題和鏈接),數(shù)據(jù)以明文的形式出面在源碼中。在網(wǎng)站首頁(yè),按快捷鍵【Ctrl+U】打開(kāi)源碼頁(yè)面,如圖所示。網(wǎng)頁(yè)一般由三部分組成,分別是HTML(超文本標(biāo)記語(yǔ)言)、CSS(層疊樣式表)和JScript(活動(dòng)腳本語(yǔ)言)。2.1認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)HTML是整個(gè)網(wǎng)頁(yè)的結(jié)構(gòu),相當(dāng)于整個(gè)網(wǎng)站的框架。帶“<”、“>”符號(hào)都屬于HTML的標(biāo)簽,并且標(biāo)簽都是成對(duì)出現(xiàn)的。常見(jiàn)的HTML標(biāo)簽如下:HTML2.1認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)2.1認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)開(kāi)始創(chuàng)建你的第一個(gè)Web,打開(kāi)記事本,輸入:

2.1認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)輸入代碼后,保存記事本,然后修改文件名和后綴名為"Web.html"。運(yùn)行該文件后的效果,如圖所示CSS表示樣式,圖1中第11行<linktype=“text/css”>表示下面引用一個(gè)CSS,在CSS中定義了外觀CSS2.1認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)JScript表示功能。交互的內(nèi)容和各種特效都在JScript中,JScript描述了網(wǎng)站中的各種功能。JScript2.1認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)大部分的網(wǎng)站都有一個(gè)robots.txt的文檔,當(dāng)然也有部分網(wǎng)站沒(méi)有設(shè)定robots.txt。對(duì)于沒(méi)有設(shè)定robots.txt的網(wǎng)站可以通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取沒(méi)有口令加密的數(shù)據(jù),該網(wǎng)站所有頁(yè)面數(shù)據(jù)都可以爬取。如果網(wǎng)站有robots.txt文檔,就要判斷是否有禁止訪客獲取的數(shù)據(jù)。2.1認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)以淘寶為例,在瀏覽器中訪問(wèn)如圖所示。返回代碼的意思是禁止爬取任何數(shù)據(jù)。使用requests庫(kù)請(qǐng)求網(wǎng)站PARTTHREE3.1安裝requests庫(kù)首先在PyCharm中安裝requests庫(kù),為此打開(kāi)PyCharm,單擊“文件”菜單,選擇“新項(xiàng)目設(shè)置”命令,如圖

4-4所示。3.1安裝requests庫(kù)

選擇“新項(xiàng)目設(shè)置”,在彈出的“設(shè)置”窗口選擇“Python解釋器”選項(xiàng),確認(rèn)Python解釋器與你安裝的Python版本一致,如圖4-5所示。3.1安裝requests庫(kù)

然后點(diǎn)擊標(biāo)簽欄加號(hào),在搜索框輸入:requests(注意:一定要輸入完整,不然容易出錯(cuò)),然后單擊左下角的“安裝軟件包”。在PyCharm中加載庫(kù)的操作步驟如本例步驟。如圖4-6所示:3.1安裝requests庫(kù)安裝完成后,如圖4-7所示,提示“已成功安裝軟件包”,如果安裝不成功也會(huì)顯示提示信息。。3.2爬蟲(chóng)的基本原理Request(請(qǐng)求):每一個(gè)展示在用戶面前的網(wǎng)頁(yè)都必須經(jīng)過(guò)這一步,也就是向服務(wù)器發(fā)送訪問(wèn)請(qǐng)求。Response(響應(yīng)):服務(wù)器在接收到用戶的請(qǐng)求后,會(huì)驗(yàn)證請(qǐng)求的有效性,然后向用戶(客戶端)發(fā)送響應(yīng)的內(nèi)容,客戶端接收服務(wù)器響應(yīng)的內(nèi)容,將內(nèi)容展示出來(lái),就是我們所熟悉的網(wǎng)頁(yè)請(qǐng)求。網(wǎng)頁(yè)請(qǐng)求的過(guò)程分為兩個(gè)環(huán)節(jié):3.2爬蟲(chóng)的基本原理GET:最常見(jiàn)的方式,一般用于獲取或者查詢資源信息,也是大多數(shù)網(wǎng)站使用的方式,響應(yīng)速度快。POST:相比GET方式,多了以表單形式上傳參數(shù)的功能,因此除查詢信息外,還可以修改信息。網(wǎng)頁(yè)請(qǐng)求的方式分為兩種:復(fù)制任意一條首頁(yè)首條新聞的標(biāo)題,在源碼頁(yè)面按【Ctrl+F】組合鍵調(diào)出搜索框,將標(biāo)題粘貼在搜索框中,按【Enter】鍵。標(biāo)題可以在源碼中搜索到,請(qǐng)求對(duì)象是,請(qǐng)求方式是GET(所有在源碼中的數(shù)據(jù)請(qǐng)求方式都是GET),如圖4-8所示。3.3使用GET方式抓取數(shù)據(jù)確定好請(qǐng)求對(duì)象和方式后,在

PyCharm中輸入以下代碼:加載庫(kù)使用的語(yǔ)句是

import+庫(kù)的名字。在上述過(guò)程中,加載requests庫(kù)的語(yǔ)句是:

importrequests用

GET方式獲取數(shù)據(jù)需要調(diào)用requests庫(kù)中的get方法,使用方法是在requests后輸入英文點(diǎn)號(hào),如下所示:

requests.get將獲取到的數(shù)據(jù)存到strhtml變量中,代碼如下:

strhtml=request.get(url)這個(gè)時(shí)候strhtml是一個(gè)URL對(duì)象,它代表整個(gè)網(wǎng)頁(yè),但此時(shí)只需要網(wǎng)頁(yè)中的源碼,下面的語(yǔ)句表示網(wǎng)頁(yè)源碼:

strhtml.text運(yùn)行結(jié)果如圖

9所示:3.4使用POST方式抓取數(shù)據(jù)首先輸入有道翻譯的網(wǎng)址:/,進(jìn)入有道翻譯頁(yè)面。按快捷鍵

F12,進(jìn)入開(kāi)發(fā)者模式,單擊“網(wǎng)絡(luò)”,此時(shí)內(nèi)容為空,如圖4-10所示:

圖4-10在有道翻譯中輸入“我愛(ài)中國(guó)”,單擊“翻譯”按鈕,如圖4-11所示:

在開(kāi)發(fā)者模式中,依次單擊“網(wǎng)絡(luò)”按鈕和“XHR”標(biāo)簽,找到翻譯數(shù)據(jù)后預(yù)覽,如圖4-12所示:?jiǎn)螕簟皹?biāo)頭”,發(fā)現(xiàn)請(qǐng)求數(shù)據(jù)的方法為

POST。如圖4-13所示:

找到數(shù)據(jù)所在之處并且明確請(qǐng)求方式之后,接下來(lái)開(kāi)始寫(xiě)爬蟲(chóng)。首先,將

Headers中的URL復(fù)制出來(lái),并賦值給url,代碼如下:

url=’/translate_o?smartresult=dict&smartresult=rule’POST的請(qǐng)求獲取數(shù)據(jù)的方式不同于GET,POST請(qǐng)求數(shù)據(jù)必須構(gòu)建請(qǐng)求頭才可以。FormData中的請(qǐng)求參數(shù)如圖4-14所示:將其復(fù)制并構(gòu)建一個(gè)新字典:接下來(lái)使用

requests.post方法請(qǐng)求表單數(shù)據(jù),代碼如下:

將字符串格式的數(shù)據(jù)轉(zhuǎn)換成

JSON格式數(shù)據(jù),并根據(jù)數(shù)據(jù)結(jié)構(gòu),提取數(shù)據(jù),并將翻譯結(jié)果打印出來(lái),代碼如下:使用

requests.post方法抓取有道翻譯結(jié)果的完整代碼如下:使用BeautifulSoup解析網(wǎng)頁(yè)P(yáng)ARTFOUR通過(guò)requests庫(kù)已經(jīng)可以抓到網(wǎng)頁(yè)源碼,接下來(lái)要從源碼中找到并提取數(shù)據(jù)。BeautifulSoup庫(kù)在python中主要的功能是從網(wǎng)頁(yè)中抓取數(shù)據(jù)。BeautifulSoup目前已經(jīng)被移植到bs4庫(kù)中,也就是說(shuō)在導(dǎo)入BeautifulSoup時(shí)需要先安裝bs4庫(kù)。安裝

bs4庫(kù)的方式如圖4-15所示:

安裝好

bs4庫(kù)以后,還需安裝lxml庫(kù)。如果不安裝lxml庫(kù),就會(huì)使用Python默認(rèn)的解析器。盡管BeautifulSoup既支持Python標(biāo)準(zhǔn)庫(kù)中的HTML解析器,又支持一些第三方解析器,但是

lxml庫(kù)具有功能更加強(qiáng)大、速度更快的特點(diǎn),因此推薦安裝lxml庫(kù)。安裝

Python第三方庫(kù)后,輸入下面的代碼,即可開(kāi)啟BeautifulSoup之旅。代碼運(yùn)行結(jié)果如圖4-16所示。BeautifulSoup庫(kù)能夠輕松解析網(wǎng)頁(yè)信息,它被集成在bs4庫(kù)中,需要時(shí)可以從bs4庫(kù)中調(diào)用。其表達(dá)語(yǔ)句如下:frombs4importBeautifulSoup首先,HTML文檔將被轉(zhuǎn)換成Unicode編碼格式,然后BeautifulSoup選擇最合適的解析器來(lái)解析這段文檔,此處指定lxml解析器進(jìn)行解析。解析后便將復(fù)雜的HTML文檔轉(zhuǎn)換成樹(shù)形結(jié)構(gòu),并且每個(gè)節(jié)點(diǎn)都是Python對(duì)象。這里將解析后的文檔存儲(chǔ)到新建的變量soup中,代碼如下:使用BeautifulSoup解析網(wǎng)頁(yè)接下來(lái)用

select(選擇器)定位數(shù)據(jù),定位數(shù)據(jù)時(shí)需要使用瀏覽器的開(kāi)發(fā)者模式,使用鼠標(biāo)右鍵,在快捷菜單中選擇“檢查”命令,如圖4-17所示:隨后在瀏覽器右側(cè)會(huì)彈出開(kāi)發(fā)者界面,右側(cè)高亮的代碼對(duì)應(yīng)著左側(cè)高亮的數(shù)據(jù)文本。右擊右側(cè)高亮數(shù)據(jù),在彈出的快捷菜單中選擇“復(fù)制”?“復(fù)制selector”,便可以自動(dòng)復(fù)制路徑。代碼如下:

#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li:nth-child(5)>a由于這條路徑是選中的任意頭條標(biāo)題的路徑,而我們需要獲取所有的頭條新聞,因此將“l(fā)i:nth-child(5)”中冒號(hào)(包含冒號(hào))后面的部分刪掉,代碼如下:

#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li>a使用

soup.select引用這個(gè)路徑,代碼如下:

data=soup.select('#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li>a')清洗和組織數(shù)據(jù)PARTFive至此,獲得了一段目標(biāo)的HTML代碼,但還沒(méi)有把數(shù)據(jù)提取出來(lái),接下來(lái)在PyCharm中輸入以下代碼:代碼運(yùn)行結(jié)果如圖4-18所示:首先明確要提取的數(shù)據(jù)是標(biāo)題和鏈接,標(biāo)題在<a>標(biāo)簽中,提取標(biāo)簽的正文用get_text()方法。鏈接在<a>標(biāo)簽的href屬性中,提取標(biāo)簽中的href屬性用get()方法,在括號(hào)中指定要提取的屬性數(shù)據(jù),即get('href')。從圖4-18中可以發(fā)現(xiàn),文章的鏈接中有一個(gè)數(shù)字ID。下面用正則表達(dá)式提取這個(gè)ID。需要使用的正則符號(hào)如下:\d匹配數(shù)字+匹配前一個(gè)字符1次或多次在Python中調(diào)用正則表達(dá)式時(shí)使用re庫(kù),這個(gè)庫(kù)不用安裝,可以直接調(diào)用。在PyCharm中輸入以下代碼::運(yùn)行結(jié)果如圖4-19所示:防爬蟲(chóng)機(jī)制PARTsix爬蟲(chóng)是模擬人的瀏覽訪問(wèn)行為,進(jìn)行數(shù)據(jù)的批量抓取。當(dāng)抓取的數(shù)據(jù)量逐漸增大時(shí),會(huì)給被訪問(wèn)的服務(wù)器造成很大的壓力,甚至有可能崩潰。換句話就是說(shuō),服務(wù)器是不喜歡有人抓取自己的數(shù)據(jù)的。那么,網(wǎng)站方面就會(huì)針對(duì)這些爬蟲(chóng)者,采取一些反爬策略。因此,不是所有的爬蟲(chóng)都有效,合規(guī)的有效獲取數(shù)據(jù)的方法是必須的遵循。防爬蟲(chóng)機(jī)制八爪魚(yú)數(shù)據(jù)采集實(shí)例目錄01.八爪魚(yú)采集器在電商行業(yè)應(yīng)用案例02.從網(wǎng)頁(yè)獲取數(shù)據(jù)03.客戶端界面介紹八爪魚(yú)采集器在電商行業(yè)應(yīng)用案例PARTONE1.1價(jià)格監(jiān)控采集各大電商網(wǎng)站和渠道的商品價(jià)格,對(duì)掛牌價(jià)和到手價(jià)建立分鐘級(jí)監(jiān)控,并根據(jù)設(shè)置實(shí)時(shí)推送預(yù)警消息,幫助企業(yè)及時(shí)掌握分銷渠道經(jīng)營(yíng)情況與市場(chǎng)競(jìng)爭(zhēng)情況。應(yīng)用于某酒類電商平臺(tái):幫助客戶采集各大酒類電商平臺(tái)數(shù)據(jù),定時(shí)獲取眾多SKU的價(jià)格與銷售數(shù)據(jù)(包括掛牌價(jià)與到手價(jià)),以監(jiān)控各渠道價(jià)格,保障渠道價(jià)格穩(wěn)定。幫助客戶穩(wěn)定電商渠道價(jià)格,及時(shí)發(fā)現(xiàn)競(jìng)品平臺(tái)的價(jià)格調(diào)動(dòng),及時(shí)跟進(jìn)調(diào)價(jià)策略。011.2數(shù)據(jù)選品采集各平臺(tái)產(chǎn)品銷量,銷售額,sku數(shù)量等信息,進(jìn)行市場(chǎng)大盤(pán)分析、競(jìng)品分析、自身優(yōu)劣勢(shì)分析等,以找到爆款商品,進(jìn)行選品決策。應(yīng)用于某跨境電商平臺(tái):

幫助客戶采集Amazon平臺(tái)上多個(gè)國(guó)家地區(qū)的商品數(shù)據(jù),包括A+、buybox、商品詳情、review評(píng)論、問(wèn)答QA、搜索listrank、bestseller、等類型數(shù)據(jù)。

基于商品數(shù)據(jù)進(jìn)行市場(chǎng)大盤(pán)分析、競(jìng)品分析、自身優(yōu)劣勢(shì)分析,幫助業(yè)務(wù)團(tuán)隊(duì)更好的選品,成為整個(gè)公司跨境運(yùn)營(yíng)的情報(bào)中心。021.3品牌維權(quán)采集監(jiān)控全網(wǎng)電商平臺(tái)上品牌相關(guān)的產(chǎn)品鏈接和店鋪鏈接數(shù)據(jù),幫助品牌進(jìn)行控價(jià)打假、渠道管理和知識(shí)產(chǎn)權(quán)維護(hù),以打擊違規(guī)鏈接/店鋪,消除假貨、竄貨等隱患。應(yīng)用于某3C品牌:實(shí)時(shí)獲取國(guó)內(nèi)所有電商平臺(tái)上各個(gè)分銷商店鋪的商品價(jià)格數(shù)據(jù)。通過(guò)智能算法,識(shí)別各種促銷策略,精準(zhǔn)對(duì)比掛牌價(jià)和到手價(jià),對(duì)超出正常范圍的價(jià)格進(jìn)行預(yù)警與取證并及時(shí)做出調(diào)整策略,避免渠道亂價(jià)。031.4體驗(yàn)管理采集電商平臺(tái)的商品評(píng)價(jià)、在線聊天等數(shù)據(jù),從中洞察消費(fèi)者行為和喜好,提煉問(wèn)題和機(jī)會(huì),進(jìn)而幫助產(chǎn)品、市場(chǎng)和服務(wù)部門(mén)優(yōu)化客戶體驗(yàn),提升客戶滿意度。應(yīng)用于某智能家電品牌:針對(duì)掃地機(jī)、吸塵器、等多條產(chǎn)品線建立多套分析模型,接入所有電商平臺(tái)本品及競(jìng)品用戶評(píng)論數(shù)據(jù)實(shí)時(shí)對(duì)比分析。根據(jù)分析結(jié)果,制定策略加以改善。建立產(chǎn)品、服務(wù)、市場(chǎng)等方面的指標(biāo)體系,幫助產(chǎn)品研發(fā)、企劃、推廣、運(yùn)營(yíng)等部門(mén)以客戶評(píng)價(jià)為導(dǎo)向、為各部門(mén)決策提供數(shù)據(jù)支持。04下載安裝八爪魚(yú)Windows客戶端PARTTWO

訪問(wèn)

/download/windows,下載八爪魚(yú)采集器安裝文件

關(guān)閉所有殺毒軟件

雙擊.exe文件,開(kāi)始安裝

安裝完成后,在開(kāi)始菜單或桌面上找到八爪魚(yú)采集器快捷方式

啟動(dòng)八爪魚(yú)采集器,使用您的賬號(hào)登錄(免費(fèi)注冊(cè),獲得登錄賬號(hào))客戶端界面介紹PARTTHREE安裝完成后,進(jìn)入八爪魚(yú)客戶端,如圖4-21所示:3.1八爪魚(yú)常用數(shù)據(jù)采集方法01.使用“智能識(shí)別”采集數(shù)據(jù)02.自己動(dòng)手配置采集流程03.使用模板采集數(shù)據(jù)3.1.1使用“智能識(shí)別”采集數(shù)據(jù)

智能識(shí)別:只需輸入網(wǎng)址,自動(dòng)智能識(shí)別網(wǎng)頁(yè)數(shù)據(jù)。支持自動(dòng)識(shí)別列表型網(wǎng)頁(yè)數(shù)據(jù)、滾動(dòng)和翻頁(yè)。我們來(lái)看一個(gè)智能識(shí)別的示例,示例網(wǎng)址:/category_3.shtml3.1.1使用“智能識(shí)別”采集數(shù)據(jù)在首頁(yè)輸入框中,輸入目標(biāo)網(wǎng)址,點(diǎn)擊【開(kāi)始采集】。八爪魚(yú)自動(dòng)打開(kāi)網(wǎng)頁(yè)并開(kāi)始智能識(shí)別。打開(kāi)網(wǎng)頁(yè)后,默認(rèn)開(kāi)啟智能識(shí)別。識(shí)別過(guò)程中,隨時(shí)可【取消識(shí)別】或【不再智能識(shí)別】,取消或關(guān)閉本次智能識(shí)別,可點(diǎn)擊【自動(dòng)識(shí)別網(wǎng)頁(yè)】再次啟動(dòng)。也可在全局設(shè)置中,再次默認(rèn)開(kāi)啟【智能識(shí)別】。3.1.1使用“智能識(shí)別”采集數(shù)據(jù)3.1.1使用“智能識(shí)別”采集數(shù)據(jù)智能識(shí)別成功,一個(gè)網(wǎng)頁(yè)可能有多組數(shù)據(jù),八爪魚(yú)會(huì)將所有數(shù)據(jù)識(shí)別出來(lái),然后智能推薦最常用的那組。如果推薦的不是想要的,可自行【切換識(shí)別結(jié)果】。3.1.1使用“智能識(shí)別”采集數(shù)據(jù)同時(shí),可自動(dòng)識(shí)別出網(wǎng)頁(yè)的滾動(dòng)和翻頁(yè)。此示例網(wǎng)址,無(wú)需滾動(dòng),只需翻頁(yè),故只識(shí)別并勾選【翻頁(yè)采集】。自動(dòng)識(shí)別完成后,點(diǎn)擊【生成采集設(shè)置】,可自動(dòng)生成相應(yīng)的采集流程,方便用戶編輯修改。然后,點(diǎn)擊【采集】,選擇【啟動(dòng)本地采集】,八爪魚(yú)就會(huì)開(kāi)始全自動(dòng)采集數(shù)據(jù)。3.1.1使用“智能識(shí)別”采集數(shù)據(jù)3.1.1使用“智能識(shí)別”采集數(shù)據(jù)采集完成后,以所需的方式導(dǎo)出數(shù)據(jù)即可。需要注意的是,目前自動(dòng)識(shí)別,僅支持識(shí)別列表型網(wǎng)頁(yè)、滾動(dòng)和翻頁(yè)。如果不是列表型網(wǎng)頁(yè),或者有更高級(jí)的采集需求,請(qǐng)自行配置采集任務(wù)。3.1.2自己動(dòng)手配置采集流程什么是采集流程?采集流程(或叫采集任務(wù),采集規(guī)則)是從特定網(wǎng)頁(yè)上抓取數(shù)據(jù)的指令。每個(gè)網(wǎng)站的頁(yè)面布局是不同的,因此采集流程不能通用。一般情況下,一個(gè)網(wǎng)站需要配置一個(gè)采集流程。如圖4-25所示:3.1.2自己動(dòng)手配置采集流程現(xiàn)在有一個(gè)京東商品詳情頁(yè)的網(wǎng)頁(yè):/848851.html。網(wǎng)頁(yè)上有很多字段:文本(標(biāo)題、價(jià)格等)、圖片(商品圖片)、鏈接(詳情的超鏈接)。3.1.2自己動(dòng)手配置采集流程我們想將上述網(wǎng)頁(yè)上非結(jié)構(gòu)化的文本、圖片、超鏈接等字段采集下來(lái),保存為excel等結(jié)構(gòu)化的數(shù)據(jù),如下表所示:3.1.2自己動(dòng)手配置采集流程創(chuàng)建一個(gè)新任務(wù):點(diǎn)擊左側(cè)【+】新建,選擇【自定義任務(wù)】,創(chuàng)建新任務(wù),默認(rèn)任務(wù)名稱。3.1.2自己動(dòng)手配置采集流程手動(dòng)輸入網(wǎng)址/848851.html,點(diǎn)擊保存設(shè)置。3.1.2自己動(dòng)手配置采集流程選擇要采集的數(shù)據(jù)觀察網(wǎng)頁(yè)上有很多字段:文本(標(biāo)題、價(jià)格等)、圖片(商品圖片)、鏈接(詳情的超鏈接)。鼠標(biāo)移動(dòng)到想要的字段上,點(diǎn)擊將其選中。選中后,會(huì)用綠色框框起來(lái)。同時(shí),左上角會(huì)彈出一個(gè)操作提示框。選中的字段不同,操作提示框中的指令也不同。如果選中的是文本,選擇【采集該元素的文本】。如果選中的是圖片,選擇【采集該圖片地址】。如果選中的是鏈接,選擇【采集該鏈接的文本】或【采集該鏈接地址】。3.1.2自己動(dòng)手配置采集流程完成采集項(xiàng)目后在采集流程視圖中點(diǎn)擊應(yīng)用。3.1.2自己動(dòng)手配置采集流程編輯字段在當(dāng)前頁(yè)面數(shù)據(jù)預(yù)覽中,可查看到我們提取的所有字段,可以對(duì)這些字段進(jìn)行修改、刪除字段名稱,移動(dòng)字段順序等操作。數(shù)據(jù)預(yù)覽中默認(rèn)是【橫向字段布局】,方便查看所采集到數(shù)據(jù)。你也可以切換到【縱向字段布局】,方便進(jìn)行字段的修改,比如批量刪除、復(fù)制字段,導(dǎo)入、導(dǎo)出字段配置,格式化,修改字段XPath。獲取數(shù)據(jù)并導(dǎo)出根據(jù)已經(jīng)配置好了一個(gè)采集任務(wù)。接下來(lái)讓任務(wù)自動(dòng)運(yùn)行。點(diǎn)擊【保存并采集】,選擇【啟動(dòng)本地采集】,啟動(dòng)后開(kāi)始全自動(dòng)采集數(shù)據(jù)?!颈镜夭杉渴鞘褂米约旱碾娔X進(jìn)行采集,【云采集】是使用八爪魚(yú)提供的云服務(wù)器采集。采集完成后,根據(jù)需要的類型的導(dǎo)出數(shù)據(jù)。支持導(dǎo)出為數(shù)據(jù)的類型為Excel、CSV、HTML,這里導(dǎo)出為Excel。3.1.3使用模板采集數(shù)據(jù)采集模板是由八爪魚(yú)官方提供的、做好的采集模板,目前已有200多個(gè)采集模板,涵蓋大部分網(wǎng)站的采集場(chǎng)景。使用模板采集數(shù)據(jù)時(shí),只需輸入幾個(gè)參數(shù)(網(wǎng)址、關(guān)鍵詞、頁(yè)數(shù)等),就能快速獲取到目標(biāo)網(wǎng)站數(shù)據(jù)。類似使用PPT模板,只需修改關(guān)鍵信息就能直接使用,無(wú)需自己從頭配置。3.1.3使用模板采集數(shù)據(jù)如何找到所需的【采集模板】在客戶端首頁(yè)【輸入框】中,輸入目標(biāo)網(wǎng)站名稱,自動(dòng)尋找相關(guān)的采集模板。將鼠標(biāo)移到需要的模板上并單擊,進(jìn)入模板詳情頁(yè)面。注意,請(qǐng)確保輸入的網(wǎng)站名稱正確,否則可能無(wú)法查找到相關(guān)模板。3.1.3使用模板采集數(shù)據(jù)例如,采集京東商品評(píng)論數(shù)據(jù),使用軟件自帶模板。點(diǎn)擊京東商品評(píng)論圖標(biāo),確認(rèn)使用。3.1.3使用模板采集數(shù)據(jù)該模板采集數(shù)據(jù)要配置參數(shù),如圖4-33所示,在輸入網(wǎng)址中,需要將要采集商品頁(yè)的網(wǎng)址填入其中,因京東商品評(píng)價(jià)只顯示前100頁(yè),一次翻頁(yè)次數(shù)為100。比如要采集華為HUAWEIP40手機(jī)的商品評(píng)價(jià)數(shù)據(jù),網(wǎng)址輸入/100007299145.html,翻頁(yè)次數(shù)為100,點(diǎn)擊保存并啟動(dòng)。3.1.3使用模板采集數(shù)據(jù)通過(guò)【采集模板】創(chuàng)建并保存的任務(wù),會(huì)放在【我的任務(wù)】中。在【我的任務(wù)】界面,可以對(duì)任務(wù)進(jìn)行多種操作并查看任務(wù)采集到的歷史數(shù)據(jù)。PowerBI數(shù)據(jù)采集實(shí)例目錄01.提取第一頁(yè)數(shù)據(jù)02.創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)03.創(chuàng)建參數(shù)列表03.批量提取多個(gè)網(wǎng)頁(yè)數(shù)據(jù)提取第一頁(yè)數(shù)據(jù)PARTONE1提取第一頁(yè)數(shù)據(jù)打開(kāi)PowerBI,點(diǎn)擊“獲取數(shù)據(jù)”彈出窗口中的“Web”,在Web的地址URL中輸入網(wǎng)址/top250,點(diǎn)擊確定。如圖4-35所示:1提取第一頁(yè)數(shù)據(jù)在彈出的導(dǎo)航器,并不能看到圖書(shū)的列表數(shù)據(jù)或者采集的數(shù)據(jù)不是我們想要的格式。在這里有個(gè)功能非常好用,就是“使用示例添加表”,如圖4-36所示:1提取第一頁(yè)數(shù)據(jù)

“使用示例添加表”這個(gè)功能的含義:只要輸人前面幾個(gè)數(shù)據(jù),系統(tǒng)會(huì)自動(dòng)識(shí)別所要提取的數(shù)據(jù)類別,并自動(dòng)將網(wǎng)頁(yè)中的剩余同類數(shù)據(jù)填充進(jìn)來(lái);但如果輸人的數(shù)據(jù)沒(méi)有規(guī)律,或者不是該網(wǎng)頁(yè)中存在的數(shù)據(jù),系統(tǒng)將無(wú)法識(shí)別。

下面介紹如何使用該功能。單擊左下角的“使用示例添加表”,在彈出的窗口中,上方是網(wǎng)頁(yè)預(yù)覽,把需要提取的數(shù)據(jù)的前兩個(gè)輸人到下方的窗口中,例如輸人前兩本圖書(shū)的名字,系統(tǒng)會(huì)自動(dòng)將該頁(yè)中的同類數(shù)據(jù)填充完成。如圖4-37:011提取第一頁(yè)數(shù)據(jù)這樣就把第1頁(yè)中的25本圖書(shū)名稱提取出來(lái)了。1提取第一頁(yè)數(shù)據(jù)然后單擊右上角“+”新增一列,依次類推,按照上述方式提取作者、出版社、出版時(shí)間、價(jià)格、評(píng)分、鏈接等相關(guān)信息。因?yàn)榈谝涣袌D書(shū)名稱已經(jīng)確定,后面的列只要輸入第一單元格,每本圖書(shū)的同類數(shù)據(jù)會(huì)完成自動(dòng)填充。由于網(wǎng)頁(yè)數(shù)據(jù)并不都是結(jié)構(gòu)化數(shù)據(jù),有些數(shù)據(jù)是混雜在一起的,比如列2數(shù)據(jù)中就有作者、出版社社、定價(jià)等信息。1提取第一頁(yè)數(shù)據(jù)數(shù)據(jù)提取完之后,導(dǎo)航器會(huì)創(chuàng)建一個(gè)新表。接下來(lái),我們要對(duì)表進(jìn)行整理,在PowerBI選項(xiàng)卡點(diǎn)擊“轉(zhuǎn)換數(shù)據(jù)”,進(jìn)入PowerQuery對(duì)數(shù)據(jù)進(jìn)行清洗,整理后的數(shù)據(jù)表如4-39所示。創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)PARTTWO2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)以上的步驟只是完成了第一頁(yè)25本書(shū)的數(shù)據(jù)采集,我們需要全部250本書(shū)的采集,需要使用PowerQuery的M函數(shù)來(lái)實(shí)現(xiàn)。將已經(jīng)整理好的25條數(shù)據(jù)命名該查詢?yōu)椤癟op25基本信息”,現(xiàn)在右鍵單擊該查詢名,選擇“創(chuàng)建函數(shù)”。如圖4-40:2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)彈出的窗口中會(huì)提示“未找到參數(shù)”,單擊“創(chuàng)建”按鈕,并輸入函數(shù)名,將這個(gè)函數(shù)命名為“bookinfo”。然后在編輯欄中手動(dòng)更改代碼,將前兩行代碼更改如下:此代碼的意思是將網(wǎng)址分為兩個(gè)部分,比如第1頁(yè)的網(wǎng)址:2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)/top250?start=0中的“https://book/top250?start”作為常量文本保持不變,而最后一個(gè)數(shù)字,設(shè)置為參數(shù)x,二者組合到一起作為一個(gè)完整的網(wǎng)址,然后只需要將不同的數(shù)字賦給x,就可以提取相應(yīng)頁(yè)面的數(shù)據(jù)。其中(xastext)表示該自定義函數(shù)的參數(shù)為x,參數(shù)類型為text創(chuàng)建好的自定義函數(shù),此時(shí)在窗口出現(xiàn)了一個(gè)輸入?yún)?shù)的框,表示該自定義函數(shù)就創(chuàng)建完成。如圖4-41所示:2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)輸入?yún)?shù)值25,單擊“調(diào)用”,輸出結(jié)果是網(wǎng)頁(yè)中第2頁(yè)的圖書(shū)信息。創(chuàng)建參數(shù)列表PARTTHREE通過(guò)網(wǎng)址的分析,發(fā)現(xiàn)這10個(gè)頁(yè)面網(wǎng)址最后一個(gè)數(shù)字為0、25、50…225構(gòu)建了一個(gè)差值為25的等差數(shù)列,以此規(guī)律來(lái)自定義函數(shù)的參數(shù)。在PowerQuery中,單擊“新建源”選擇“空查詢”選項(xiàng)。如圖4-43所示:

在編輯欄輸入:=List.Numbers(0,10,25),即可得到一個(gè)參數(shù)列表。其中List.Numbers是一個(gè)M函數(shù),用于生成一個(gè)數(shù)列,第一個(gè)參數(shù)是初始值,第二個(gè)參數(shù)為生成數(shù)據(jù)的行數(shù),第三個(gè)參數(shù)為數(shù)據(jù)步長(zhǎng)(如果忽略,默認(rèn)為1),注意,參數(shù)設(shè)置與要采集的網(wǎng)頁(yè)頁(yè)數(shù)要一致。List.Numbers(0,10,25)意思是從0開(kāi)始,后續(xù)的數(shù)字步長(zhǎng)25,生成10行,如圖4-44所示。批量提取多個(gè)網(wǎng)頁(yè)數(shù)據(jù)PARTFORE

在上面生成的參數(shù)列表中,單擊“調(diào)用自定義函數(shù)”,在彈出的窗口中,選擇已經(jīng)建立好的自定義函數(shù),參數(shù)選擇上一步建好的表,如圖4-45所示。4批量提取多個(gè)網(wǎng)頁(yè)數(shù)據(jù)點(diǎn)擊確定后,在當(dāng)前表新增一個(gè)單元格都是“Table”列,點(diǎn)擊該列標(biāo)簽右側(cè)向左向右的箭頭,展開(kāi)新生成的自定義列,即可得到全部的10頁(yè)Top250的圖書(shū)數(shù)據(jù),完成了數(shù)據(jù)批量獲取,關(guān)閉并應(yīng)用,數(shù)據(jù)自動(dòng)更新到PowerBI中。最終數(shù)據(jù)采集結(jié)果如圖4-46所示。數(shù)據(jù)整理實(shí)例目錄01.數(shù)據(jù)質(zhì)量準(zhǔn)則02.清洗數(shù)據(jù)基本要求03.從Excel到Python數(shù)據(jù)整理實(shí)例數(shù)據(jù)質(zhì)量準(zhǔn)則PARTONE數(shù)據(jù)質(zhì)量準(zhǔn)則單條數(shù)據(jù)是否存在空值,統(tǒng)計(jì)的字段是否完善。完整性01觀察某一列的全部數(shù)值全面性02數(shù)據(jù)的類型、內(nèi)容、大小的合法性。合法性03數(shù)據(jù)是否存在重復(fù)記錄,因?yàn)閿?shù)據(jù)通常來(lái)自不同的渠道匯總,重復(fù)的情況是常見(jiàn)的唯一性04清洗數(shù)據(jù)基本要求PARTTWO數(shù)據(jù)質(zhì)量準(zhǔn)則主要問(wèn)題:缺失值。針對(duì)缺失值的處理,基本的操作是刪除或者填充等。完整性01在有的數(shù)據(jù)中,計(jì)量尺度存在差異。全面性02有很多一般性指標(biāo)都會(huì)存在上限的問(wèn)題,要符合正常邏輯,因此,要進(jìn)行刪除或者填充處理。。合理性03數(shù)據(jù)重復(fù)會(huì)干擾分析結(jié)果,數(shù)據(jù)清洗要確定沒(méi)有重復(fù)計(jì)數(shù)的情況。唯一性04從Excel到Python數(shù)據(jù)整理實(shí)例PARTTWO

本實(shí)例演示數(shù)據(jù)是通過(guò)采集工具從京東商城搜索關(guān)鍵詞“運(yùn)動(dòng)鞋”采集的實(shí)時(shí)數(shù)據(jù)集。如圖4-47所示:3.1缺失數(shù)據(jù)處理

采集的數(shù)據(jù)集由于某些原因可能會(huì)有缺失,一般有兩種處理方式,一是刪除,即把含有缺失值的數(shù)據(jù)刪除;另一種是填充,即把缺失的那部分?jǐn)?shù)據(jù)根據(jù)上下文用某個(gè)值代替。具體步驟我們分別用Excel和Python進(jìn)行演示,便于大家比較學(xué)習(xí)。3.1.1Excel實(shí)現(xiàn)在Excel中查找數(shù)據(jù)集空單元格快捷方式是【Ctrl+G】,在彈出的對(duì)話框中選擇“空值”,確定就會(huì)把所有的空值選中。如圖所示:【Ctrl+A】選中表格中要查找空值的單元格區(qū)域【Ctrl+G】,選擇“空值”項(xiàng)后確定最后通過(guò)定位條件把空值篩選出來(lái)空值篩選出來(lái)以后可以采取刪除或填充處理在Excel中刪除空值的操作通過(guò)【Ctrl+G】快捷鍵方式可以將全部空值查找出來(lái)并全部選定,然后單擊鼠標(biāo)右鍵“刪除”選項(xiàng),在彈出的對(duì)話框中選擇相應(yīng)的刪除操作。3.1.2Python實(shí)現(xiàn)在Python中直接調(diào)用info()方法就會(huì)返回每一列的缺失情況。導(dǎo)入4-47所示數(shù),結(jié)果如圖4-49所示:3.1.2Python實(shí)現(xiàn)調(diào)用info()檢查數(shù)據(jù)缺失情況,結(jié)果圖4-50所示:3.1.2Python實(shí)現(xiàn)Python中缺失值一般用NaN不是,從用info()查找缺失值結(jié)果來(lái)看,“標(biāo)簽”列有1835個(gè)非null值,而其他列都是2010個(gè)非null值,說(shuō)明這一列有175個(gè)null值。1)使用dropna()函數(shù)刪除空值操作。函數(shù)形式:dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)參數(shù)設(shè)置:axis:軸。0或'index',表示按行刪除;1或'columns',表示按列刪除。how:篩選方式?!產(chǎn)ny’,表示該行/列只要有一個(gè)以上的空值,就刪除該行/列;‘a(chǎn)ll’,表示該行/列全部都為空值,就刪除該行/列。thresh:非空元素最低數(shù)量。int型,默認(rèn)為None。如果該行/列中,非空元素?cái)?shù)量小于這個(gè)值,就刪除該行/列。subset:子集。列表,元素為行或者列的索引。如果axis=0或者‘index’,subset中元素為列的索引;如果axis=1或者‘column’,subset中元素為行的索引。由subset限制的子區(qū)域,是判斷是否刪除該行/列的條件判斷區(qū)域。inplace:是否原地替換。布爾值,默認(rèn)為Fals

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論