Python在大數(shù)據(jù)行業(yè)非?;鸨鼉赡辏琣s a pythonic,所以也得涉足下大數(shù)據(jù)分析,下面就聊聊它們。
在沙河等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,沙河網(wǎng)站建設(shè)費(fèi)用合理。
Python數(shù)據(jù)分析與挖掘技術(shù)概述
所謂數(shù)據(jù)分析,即對(duì)已知的數(shù)據(jù)進(jìn)行分析,然后提取出一些有價(jià)值的信息,比如統(tǒng)計(jì)平均數(shù),標(biāo)準(zhǔn)差等信息,數(shù)據(jù)分析的數(shù)據(jù)量可能不會(huì)太大,而數(shù)據(jù)挖掘,是指對(duì)大量的數(shù)據(jù)進(jìn)行分析與挖倔,得到一些未知的,有價(jià)值的信息等,比如從網(wǎng)站的用戶和用戶行為中挖掘出用戶的潛在需求信息,從而對(duì)網(wǎng)站進(jìn)行改善等。
數(shù)據(jù)分析與數(shù)據(jù)挖掘密不可分,數(shù)據(jù)挖掘是對(duì)數(shù)據(jù)分析的提升。數(shù)據(jù)挖掘技術(shù)可以幫助我們更好的發(fā)現(xiàn)事物之間的規(guī)律。所以我們可以利用數(shù)據(jù)挖掘技術(shù)可以幫助我們更好的發(fā)現(xiàn)事物之間的規(guī)律。比如發(fā)掘用戶潛在需求,實(shí)現(xiàn)信息的個(gè)性化推送,發(fā)現(xiàn)疾病與病狀甚至病與藥物之間的規(guī)律等。
預(yù)先善其事必先利其器
我們首先聊聊數(shù)據(jù)分析的模塊有哪些:
下面就說說這些模塊的基礎(chǔ)使用。
numpy模塊安裝與使用
安裝:
下載地址是:
我這里下載的包是1.11.3版本,地址是:
下載好后,使用pip install "numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl"
安裝的numpy版本一定要是帶mkl版本的,這樣能夠更好支持numpy
numpy簡單使用
生成隨機(jī)數(shù)
主要使用numpy下的random方法。
pandas
使用 pip install pandas 即可
直接上代碼:
下面看看pandas輸出的結(jié)果, 這一行的數(shù)字第幾列,第一列的數(shù)字是行數(shù),定位一個(gè)通過第一行,第幾列來定位:
常用方法如下:
下面看看pandas對(duì)數(shù)據(jù)的統(tǒng)計(jì),下面就說說每一行的信息
轉(zhuǎn)置功能:把行數(shù)轉(zhuǎn)換為列數(shù),把列數(shù)轉(zhuǎn)換為行數(shù),如下所示:
通過pandas導(dǎo)入數(shù)據(jù)
pandas支持多種輸入格式,我這里就簡單羅列日常生活最常用的幾種,對(duì)于更多的輸入方式可以查看源碼后者官網(wǎng)。
CSV文件
csv文件導(dǎo)入后顯示輸出的話,是按照csv文件默認(rèn)的行輸出的,有多少列就輸出多少列,比如我有五列數(shù)據(jù),那么它就在prinit輸出結(jié)果的時(shí)候,就顯示五列
excel表格
依賴于xlrd模塊,請(qǐng)安裝它。
老樣子,原滋原味的輸出顯示excel本來的結(jié)果,只不過在每一行的開頭加上了一個(gè)行數(shù)
讀取SQL
依賴于PyMySQL,所以需要安裝它。pandas把sql作為輸入的時(shí)候,需要制定兩個(gè)參數(shù),第一個(gè)是sql語句,第二個(gè)是sql連接實(shí)例。
讀取HTML
依賴于lxml模塊,請(qǐng)安裝它。
對(duì)于HTTPS的網(wǎng)頁,依賴于BeautifulSoup4,html5lib模塊。
讀取HTML只會(huì)讀取HTML里的表格,也就是只讀取
顯示的是時(shí)候是通過python的列表展示,同時(shí)添加了行與列的標(biāo)識(shí)
讀取txt文件
輸出顯示的時(shí)候同時(shí)添加了行與列的標(biāo)識(shí)
scipy
安裝方法是先下載whl格式文件,然后通過pip install “包名” 安裝。whl包下載地址是:
matplotlib 數(shù)據(jù)可視化分析
我們安裝這個(gè)模塊直接使用pip install即可。不需要提前下載whl后通過 pip install安裝。
下面請(qǐng)看代碼:
下面說說修改圖的樣式
關(guān)于圖形類型,有下面幾種:
關(guān)于顏色,有下面幾種:
關(guān)于形狀,有下面幾種:
我們還可以對(duì)圖稍作修改,添加一些樣式,下面修改圓點(diǎn)圖為紅色的點(diǎn),代碼如下:
我們還可以畫虛線圖,代碼如下所示:
還可以給圖添加上標(biāo)題,x,y軸的標(biāo)簽,代碼如下所示
直方圖
利用直方圖能夠很好的顯示每一段的數(shù)據(jù)。下面使用隨機(jī)數(shù)做一個(gè)直方圖。
Y軸為出現(xiàn)的次數(shù),X軸為這個(gè)數(shù)的值(或者是范圍)
還可以指定直方圖類型通過histtype參數(shù):
圖形區(qū)別語言無法描述很詳細(xì),大家可以自信嘗試。
舉個(gè)例子:
子圖功能
什么是子圖功能呢?子圖就是在一個(gè)大的畫板里面能夠顯示多張小圖,每個(gè)一小圖為大畫板的子圖。
我們知道生成一個(gè)圖是使用plot功能,子圖就是subplog。代碼操作如下:
我們現(xiàn)在可以通過一堆數(shù)據(jù)來繪圖,根據(jù)圖能夠很容易的發(fā)現(xiàn)異常。下面我們就通過一個(gè)csv文件來實(shí)踐下,這個(gè)csv文件是某個(gè)網(wǎng)站的文章閱讀數(shù)與評(píng)論數(shù)。
先說說這個(gè)csv的文件結(jié)構(gòu),第一列是序號(hào),第二列是每篇文章的URL,第三列每篇文章的閱讀數(shù),第四列是每篇評(píng)論數(shù)。
我們的需求就是把評(píng)論數(shù)作為Y軸,閱讀數(shù)作為X軸,所以我們需要獲取第三列和第四列的數(shù)據(jù)。我們知道獲取數(shù)據(jù)的方法是通過pandas的values方法來獲取某一行的值,在對(duì)這一行的值做切片處理,獲取下標(biāo)為3(閱讀數(shù))和4(評(píng)論數(shù))的值,但是,這里只是一行的值,我們需要是這個(gè)csv文件下的所有評(píng)論數(shù)和閱讀數(shù),那怎么辦?聰明的你會(huì)說,我自定義2個(gè)列表,我遍歷下這個(gè)csv文件,把閱讀數(shù)和評(píng)論數(shù)分別添加到對(duì)應(yīng)的列表里,這不就行了嘛。呵呵,其實(shí)有一個(gè)更快捷的方法,那么就是使用T轉(zhuǎn)置方法,這樣再通過values方法,就能直接獲取這一評(píng)論數(shù)和閱讀數(shù)了,此時(shí)在交給你matplotlib里的pylab方法來作圖,那么就OK了。了解思路后,那么就寫吧。
下面看看代碼:
python教程可以到【達(dá)內(nèi)教育】官網(wǎng)咨詢下載。該機(jī)構(gòu)各大課程體系緊跟企業(yè)需求,企業(yè)級(jí)項(xiàng)目,課程穿插大廠真實(shí)項(xiàng)目講解,對(duì)標(biāo)企業(yè)人才標(biāo)準(zhǔn),制定專業(yè)學(xué)習(xí)計(jì)劃,囊括主流熱點(diǎn)技術(shù)。
python入門學(xué)習(xí):
第一階段Python基礎(chǔ)與Linux數(shù)據(jù)庫。這是Python的入門階段,也是幫助零基礎(chǔ)學(xué)員打好基礎(chǔ)的重要階段。需要掌握【Python】基本語法規(guī)則及變量、邏輯控制、內(nèi)置數(shù)據(jù)結(jié)構(gòu)、文件操作、高級(jí)函數(shù)、模塊、常用標(biāo)準(zhǔn)庫模塊、函數(shù)、異常處理、MySQL使用、協(xié)程等知識(shí)點(diǎn)。
第二階段WEB全棧。這一部分主要學(xué)習(xí)Web前端相關(guān)技術(shù),需要掌握HTML、CSS、JavaScript、jQuery、BootStrap、Web開發(fā)基礎(chǔ)、VUE、FlaskViews、Flask模板、數(shù)據(jù)庫操作、Flask配置等知識(shí)。
第三階段數(shù)據(jù)分析+人工智能。這部分主要是學(xué)習(xí)爬蟲相關(guān)的知識(shí)點(diǎn),需要掌握數(shù)據(jù)抓取、數(shù)據(jù)提取、數(shù)據(jù)存儲(chǔ)、爬蟲并發(fā)、動(dòng)態(tài)網(wǎng)頁抓取、scrapy框架、分布式爬蟲、爬蟲攻防、數(shù)據(jù)結(jié)構(gòu)、算法等知識(shí)。感興趣的話點(diǎn)擊此處,免費(fèi)學(xué)習(xí)一下
想了解更多有關(guān)python學(xué)習(xí)的相關(guān)信息,推薦咨詢【達(dá)內(nèi)教育】。該機(jī)構(gòu)是引領(lǐng)行業(yè)的職業(yè)教育公司,致力于面向IT互聯(lián)網(wǎng)行業(yè)培養(yǎng)人才,達(dá)內(nèi)大型T專場招聘會(huì)每年定期舉行,為學(xué)員搭建快捷高效的雙選綠色通道,在提升學(xué)員的面試能力、積累面試經(jīng)驗(yàn)同時(shí)也幫助不同技術(shù)方向的達(dá)內(nèi)學(xué)員快速就業(yè)。達(dá)內(nèi)IT培訓(xùn)機(jī)構(gòu),試聽名額限時(shí)搶購。
如何用Python進(jìn)行大數(shù)據(jù)挖掘和分析?快速入門路徑圖
大數(shù)據(jù)無處不在。在時(shí)下這個(gè)年代,不管你喜歡與否,在運(yùn)營一個(gè)成功的商業(yè)的過程中都有可能會(huì)遇到它。
什么是 大數(shù)據(jù) ?
大數(shù)據(jù)就像它看起來那樣——有大量的數(shù)據(jù)。單獨(dú)而言,你能從單一的數(shù)據(jù)獲取的洞見窮其有限。但是結(jié)合復(fù)雜數(shù)學(xué)模型以及強(qiáng)大計(jì)算能力的TB級(jí)數(shù)據(jù),卻能創(chuàng)造出人類無法制造的洞見。大數(shù)據(jù)分析提供給商業(yè)的價(jià)值是無形的,并且每天都在超越人類的能力。
大數(shù)據(jù)分析的第一步就是要收集數(shù)據(jù)本身,也就是眾所周知的“數(shù)據(jù)挖掘”。大部分的企業(yè)處理著GB級(jí)的數(shù)據(jù),這些數(shù)據(jù)有用戶數(shù)據(jù)、產(chǎn)品數(shù)據(jù)和地理位置數(shù)據(jù)。今天,我將會(huì)帶著大家一起探索如何用 Python 進(jìn)行大數(shù)據(jù)挖掘和分析?
為什么選擇Python?
Python最大的優(yōu)點(diǎn)就是簡單易用。這個(gè)語言有著直觀的語法并且還是個(gè)強(qiáng)大的多用途語言。這一點(diǎn)在大數(shù)據(jù)分析環(huán)境中很重要,并且許多企業(yè)內(nèi)部已經(jīng)在使用Python了,比如Google,YouTube,迪士尼等。還有,Python是開源的,并且有很多用于數(shù)據(jù)科學(xué)的類庫。
現(xiàn)在,如果你真的要用Python進(jìn)行大數(shù)據(jù)分析的話,毫無疑問你需要了解Python的語法,理解正則表達(dá)式,知道什么是元組、字符串、字典、字典推導(dǎo)式、列表和列表推導(dǎo)式——這只是開始。
數(shù)據(jù)分析流程
一般可以按“數(shù)據(jù)獲取-數(shù)據(jù)存儲(chǔ)與提取-數(shù)據(jù)預(yù)處理-數(shù)據(jù)建模與分析-數(shù)據(jù)可視化”這樣的步驟來實(shí)施一個(gè)數(shù)據(jù)分析項(xiàng)目。按照這個(gè)流程,每個(gè)部分需要掌握的細(xì)分知識(shí)點(diǎn)如下:
數(shù)據(jù)獲?。汗_數(shù)據(jù)、Python爬蟲
外部數(shù)據(jù)的獲取方式主要有以下兩種。
第一種是獲取外部的公開數(shù)據(jù)集,一些科研機(jī)構(gòu)、企業(yè)、政府會(huì)開放一些數(shù)據(jù),你需要到特定的網(wǎng)站去下載這些數(shù)據(jù)。這些數(shù)據(jù)集通常比較完善、質(zhì)量相對(duì)較高。
另一種獲取外部數(shù)據(jù)的方式就是爬蟲。
比如你可以通過爬蟲獲取招聘網(wǎng)站某一職位的招聘信息,爬取租房網(wǎng)站上某城市的租房信息,爬取豆瓣評(píng)分評(píng)分最高的電影列表,獲取知乎點(diǎn)贊排行、網(wǎng)易云音樂評(píng)論排行列表?;诨ヂ?lián)網(wǎng)爬取的數(shù)據(jù),你可以對(duì)某個(gè)行業(yè)、某種人群進(jìn)行分析。
在爬蟲之前你需要先了解一些 Python 的基礎(chǔ)知識(shí):元素(列表、字典、元組等)、變量、循環(huán)、函數(shù)………
以及,如何用 Python 庫(urllib、BeautifulSoup、requests、scrapy)實(shí)現(xiàn)網(wǎng)頁爬蟲。
掌握基礎(chǔ)的爬蟲之后,你還需要一些高級(jí)技巧,比如正則表達(dá)式、使用cookie信息、模擬用戶登錄、抓包分析、搭建代理池等等,來應(yīng)對(duì)不同網(wǎng)站的反爬蟲限制。
數(shù)據(jù)存?。篠QL語言
在應(yīng)對(duì)萬以內(nèi)的數(shù)據(jù)的時(shí)候,Excel對(duì)于一般的分析沒有問題,一旦數(shù)據(jù)量大,就會(huì)力不從心,數(shù)據(jù)庫就能夠很好地解決這個(gè)問題。而且大多數(shù)的企業(yè),都會(huì)以SQL的形式來存儲(chǔ)數(shù)據(jù)。
SQL作為最經(jīng)典的數(shù)據(jù)庫工具,為海量數(shù)據(jù)的存儲(chǔ)與管理提供可能,并且使數(shù)據(jù)的提取的效率大大提升。你需要掌握以下技能:
提取特定情況下的數(shù)據(jù)
數(shù)據(jù)庫的增、刪、查、改
數(shù)據(jù)的分組聚合、如何建立多個(gè)表之間的聯(lián)系
數(shù)據(jù)預(yù)處理:Python(pandas)
很多時(shí)候我們拿到的數(shù)據(jù)是不干凈的,數(shù)據(jù)的重復(fù)、缺失、異常值等等,這時(shí)候就需要進(jìn)行數(shù)據(jù)的清洗,把這些影響分析的數(shù)據(jù)處理好,才能獲得更加精確地分析結(jié)果。
對(duì)于數(shù)據(jù)預(yù)處理,學(xué)會(huì) pandas (Python包)的用法,應(yīng)對(duì)一般的數(shù)據(jù)清洗就完全沒問題了。需要掌握的知識(shí)點(diǎn)如下:
選擇:數(shù)據(jù)訪問
缺失值處理:對(duì)缺失數(shù)據(jù)行進(jìn)行刪除或填充
重復(fù)值處理:重復(fù)值的判斷與刪除
異常值處理:清除不必要的空格和極端、異常數(shù)據(jù)
相關(guān)操作:描述性統(tǒng)計(jì)、Apply、直方圖等
合并:符合各種邏輯關(guān)系的合并操作
分組:數(shù)據(jù)劃分、分別執(zhí)行函數(shù)、數(shù)據(jù)重組
Reshaping:快速生成數(shù)據(jù)透視表
概率論及統(tǒng)計(jì)學(xué)知識(shí)
需要掌握的知識(shí)點(diǎn)如下:
基本統(tǒng)計(jì)量:均值、中位數(shù)、眾數(shù)、百分位數(shù)、極值等
其他描述性統(tǒng)計(jì)量:偏度、方差、標(biāo)準(zhǔn)差、顯著性等
其他統(tǒng)計(jì)知識(shí):總體和樣本、參數(shù)和統(tǒng)計(jì)量、ErrorBar
概率分布與假設(shè)檢驗(yàn):各種分布、假設(shè)檢驗(yàn)流程
其他概率論知識(shí):條件概率、貝葉斯等
有了統(tǒng)計(jì)學(xué)的基本知識(shí),你就可以用這些統(tǒng)計(jì)量做基本的分析了。你可以使用 Seaborn、matplotlib 等(python包)做一些可視化的分析,通過各種可視化統(tǒng)計(jì)圖,并得出具有指導(dǎo)意義的結(jié)果。
Python 數(shù)據(jù)分析
掌握回歸分析的方法,通過線性回歸和邏輯回歸,其實(shí)你就可以對(duì)大多數(shù)的數(shù)據(jù)進(jìn)行回歸分析,并得出相對(duì)精確地結(jié)論。這部分需要掌握的知識(shí)點(diǎn)如下:
回歸分析:線性回歸、邏輯回歸
基本的分類算法:決策樹、隨機(jī)森林……
基本的聚類算法:k-means……
特征工程基礎(chǔ):如何用特征選擇優(yōu)化模型
調(diào)參方法:如何調(diào)節(jié)參數(shù)優(yōu)化模型
Python 數(shù)據(jù)分析包:scipy、numpy、scikit-learn等
在數(shù)據(jù)分析的這個(gè)階段,重點(diǎn)了解回歸分析的方法,大多數(shù)的問題可以得以解決,利用描述性的統(tǒng)計(jì)分析和回歸分析,你完全可以得到一個(gè)不錯(cuò)的分析結(jié)論。
當(dāng)然,隨著你實(shí)踐量的增多,可能會(huì)遇到一些復(fù)雜的問題,你就可能需要去了解一些更高級(jí)的算法:分類、聚類。
然后你會(huì)知道面對(duì)不同類型的問題的時(shí)候更適合用哪種算法模型,對(duì)于模型的優(yōu)化,你需要去了解如何通過特征提取、參數(shù)調(diào)節(jié)來提升預(yù)測(cè)的精度。
你可以通過 Python 中的 scikit-learn 庫來實(shí)現(xiàn)數(shù)據(jù)分析、數(shù)據(jù)挖掘建模和分析的全過程。
總結(jié)
其實(shí)做數(shù)據(jù)挖掘不是夢(mèng),5步就能讓你成為一個(gè)Python爬蟲高手!