Python數(shù)據(jù)分析與應(yīng)用課件_第1頁(yè)
Python數(shù)據(jù)分析與應(yīng)用課件_第2頁(yè)
Python數(shù)據(jù)分析與應(yīng)用課件_第3頁(yè)
Python數(shù)據(jù)分析與應(yīng)用課件_第4頁(yè)
Python數(shù)據(jù)分析與應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩360頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Python數(shù)據(jù)分析概述2018/1/8第1頁(yè),共365頁(yè)。1熟悉Python數(shù)據(jù)分析的工具安裝 Python 的 Anaconda 發(fā)行版掌握 Jupyter Notebook 常用功能目錄認(rèn)識(shí)數(shù)據(jù)分析234第2頁(yè),共365頁(yè)。 廣義的數(shù)據(jù)分析包括狹義數(shù)據(jù)分析和數(shù)據(jù)挖掘。 狹義的數(shù)據(jù)分析是指根據(jù)分析目的,采用對(duì)比分析、分組分析、交叉分析和回歸分析等分析方法,對(duì)收集來的數(shù)據(jù)進(jìn)行處理與分析,提取有價(jià)值的信息,發(fā)揮數(shù)據(jù)的作用,得到一個(gè)特征統(tǒng)計(jì)量結(jié)果的過程。 數(shù)據(jù)挖掘則是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,通過應(yīng)用聚類、分類、回歸和關(guān)聯(lián)規(guī)則等技術(shù),挖掘潛在價(jià)值的過程。數(shù)據(jù)分析

2、的概念第3頁(yè),共365頁(yè)。數(shù)據(jù)分析的流程典型的數(shù)據(jù)分析的流程第4頁(yè),共365頁(yè)。需求分析:數(shù)據(jù)分析中的需求分析也是數(shù)據(jù)分析環(huán)節(jié)的第一步和最重要的步驟之一,決定了后續(xù)的分析的方向、方法。數(shù)據(jù)獲?。簲?shù)據(jù)是數(shù)據(jù)分析工作的基礎(chǔ),是指根據(jù)需求分析的結(jié)果提取,收集數(shù)據(jù)。數(shù)據(jù)預(yù)處理:數(shù)據(jù)預(yù)處理是指對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)合并,數(shù)據(jù)清洗,數(shù)據(jù)變換和數(shù)據(jù)標(biāo)準(zhǔn)化,數(shù)據(jù)變換后使得整體數(shù)據(jù)變?yōu)楦蓛粽R,可以直接用于分析建模這一過程的總稱。分析與建模:分析與建模是指通過對(duì)比分析、分組分析、交叉分析、回歸分析等分析方法和聚類、分類、關(guān)聯(lián)規(guī)則、智能推薦等模型與算法發(fā)現(xiàn)數(shù)據(jù)中的有價(jià)值信息,并得出結(jié)論的過程。模型評(píng)價(jià)與優(yōu)化:模型評(píng)價(jià)是指

3、對(duì)已經(jīng)建立的一個(gè)或多個(gè)模型,根據(jù)其模型的類別,使用不同的指標(biāo)評(píng)價(jià)其性能優(yōu)劣的過程。部署:部署是指將通過了正式應(yīng)用數(shù)據(jù)分析結(jié)果與結(jié)論應(yīng)用至實(shí)際生產(chǎn)系統(tǒng)的過程。數(shù)據(jù)分析的流程典型的數(shù)據(jù)分析的流程第5頁(yè),共365頁(yè)。主要是客戶的基本數(shù)據(jù)信息進(jìn)行商業(yè)行為分析,首先界定目標(biāo)客戶,根據(jù)客戶的需求,目標(biāo)客戶的性質(zhì),所處行業(yè)的特征以及客戶的經(jīng)濟(jì)狀況等基本信息使用統(tǒng)計(jì)分析方法和預(yù)測(cè)驗(yàn)證法,分析目標(biāo)客戶,提高銷售效率。其次了解客戶的采購(gòu)過程,根據(jù)客戶采購(gòu)類型、采購(gòu)性質(zhì)進(jìn)行分類分析制定不同的營(yíng)銷策略。最后還可以根據(jù)已有的客戶特征,進(jìn)行客戶特征分析、客戶忠誠(chéng)分析、客戶注意力分析、客戶營(yíng)銷分析和客戶收益分析。了解數(shù)據(jù)分

4、析應(yīng)用場(chǎng)景1. 客戶分析第6頁(yè),共365頁(yè)。產(chǎn)品分析主要是競(jìng)爭(zhēng)產(chǎn)品分析,通過對(duì)競(jìng)爭(zhēng)產(chǎn)品的分析制定自身產(chǎn)品策略。價(jià)格分析又可以分為成本分析和售價(jià)分析,成本分析的目的是降低不必要成本,售價(jià)分析的目的是制定符合市場(chǎng)的價(jià)格。渠道分析目的是指對(duì)產(chǎn)品的銷售渠道進(jìn)行分析,確定最優(yōu)的渠道配比。廣告與促銷分析則能夠結(jié)合客戶分析,實(shí)現(xiàn)銷量的提升,利潤(rùn)的增加。了解數(shù)據(jù)分析應(yīng)用場(chǎng)景2. 營(yíng)銷分析: 囊括了產(chǎn)品分析,價(jià)格分析,渠道分析,廣告與促銷分析這四類分析。第7頁(yè),共365頁(yè)。 以不同社交媒體渠道生成的內(nèi)容為基礎(chǔ),實(shí)現(xiàn)不同社交媒體的用戶分析,訪問分析,互動(dòng)分析等。同時(shí),還能為情感和輿情監(jiān)督提供豐富的資料。用戶分析主

5、要根據(jù)用戶注冊(cè)信息,登錄平臺(tái)的時(shí)間點(diǎn)和平時(shí)發(fā)表的內(nèi)容等用戶數(shù)據(jù),分析用戶個(gè)人畫像和行為特征。訪問分析則是通過用戶平時(shí)訪問的內(nèi)容,分析用戶的興趣愛好,進(jìn)而分析潛在的商業(yè)價(jià)值?;?dòng)分析根據(jù)互相關(guān)注對(duì)象的行為預(yù)測(cè)該對(duì)象未來的某些行為特征。了解數(shù)據(jù)分析應(yīng)用場(chǎng)景3. 社交媒體分析第8頁(yè),共365頁(yè)。 新型的病毒防御系統(tǒng)可使用數(shù)據(jù)分析技術(shù),建立潛在攻擊識(shí)別分析模型,監(jiān)測(cè)大量網(wǎng)絡(luò)活動(dòng)數(shù)據(jù)和相應(yīng)的訪問行為,識(shí)別可能進(jìn)行入侵的可疑模式,做到未雨綢繆。了解數(shù)據(jù)分析應(yīng)用場(chǎng)景4. 網(wǎng)絡(luò)安全第9頁(yè),共365頁(yè)。 通過物聯(lián)網(wǎng)技術(shù)能夠收集和分析設(shè)備上的數(shù)據(jù)流,包括連續(xù)用電、零部件溫度、環(huán)境濕度和污染物顆粒等無數(shù)潛在特征,建

6、立設(shè)備管理模型,從而預(yù)測(cè)設(shè)備故障,合理安排預(yù)防性的維護(hù),以確保設(shè)備正常作業(yè),降低因設(shè)備故障帶來的安全風(fēng)險(xiǎn)。了解數(shù)據(jù)分析應(yīng)用場(chǎng)景5. 設(shè)備管理第10頁(yè),共365頁(yè)。RPythonMATLAB語(yǔ)言學(xué)習(xí)難易程度入門難度低入門難度一般入門難度一般使用場(chǎng)景數(shù)據(jù)分析,數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí),數(shù)據(jù)可視化等。數(shù)據(jù)分析,機(jī)器學(xué)習(xí),矩陣運(yùn)算,科學(xué)數(shù)據(jù)可視化,數(shù)字圖像處理,web應(yīng)用,網(wǎng)絡(luò)爬蟲,系統(tǒng)運(yùn)維等。矩陣計(jì)算,數(shù)值分析,科學(xué)數(shù)據(jù)可視化,機(jī)器學(xué)習(xí),符號(hào)計(jì)算,數(shù)字圖像處理,數(shù)字信號(hào)處理,仿真模擬等。第三方支持擁有大量的Packages,能夠調(diào)用C,C+,F(xiàn)ortran,Java等其他程序語(yǔ)言。擁有大量的第三方庫(kù),能夠

7、簡(jiǎn)便地調(diào)用C,C+,F(xiàn)ortran,Java等其他程序語(yǔ)言。擁有大量專業(yè)的工具箱,在新版本中加入了對(duì)C,C+,Java的支持。流行領(lǐng)域工業(yè)界學(xué)術(shù)界工業(yè)界學(xué)術(shù)界工業(yè)界學(xué)術(shù)界軟件成本開源免費(fèi)開源免費(fèi)商業(yè)收費(fèi)了解數(shù)據(jù)分析常用工具目前主流的數(shù)據(jù)分析語(yǔ)言有R,Python,MATLAB三種程序語(yǔ)言。第11頁(yè),共365頁(yè)。 物流是物品從供應(yīng)地向接收地的實(shí)體流動(dòng)。通過業(yè)務(wù)系統(tǒng)和GPS定位系統(tǒng)獲得數(shù)據(jù),對(duì)于客戶使用數(shù)據(jù)構(gòu)建交通狀況預(yù)測(cè)分析模型,有效預(yù)測(cè)實(shí)時(shí)路況、物流狀況、車流量、客流量和貨物吞吐量,進(jìn)而提前補(bǔ)貨,制定庫(kù)存管理策略。了解數(shù)據(jù)分析應(yīng)用場(chǎng)景6. 交通物流分析第12頁(yè),共365頁(yè)。 身份信息泄露盜用事

8、件逐年增長(zhǎng),隨之而來的是欺詐行為和交易的增多。公安機(jī)關(guān),各大金融機(jī)構(gòu),電信部門可利用用戶基本信息,用戶交易信息,用戶通話短信信息等數(shù)據(jù),識(shí)別可能發(fā)生的潛在欺詐交易,做到提前預(yù)防未雨綢繆。了解數(shù)據(jù)分析應(yīng)用場(chǎng)景7. 欺詐行為檢測(cè)第13頁(yè),共365頁(yè)。安裝 Python 的 Anaconda 發(fā)行版掌握 Jupyter Notebook 常用功能目錄341熟悉Python數(shù)據(jù)分析的工具認(rèn)識(shí)數(shù)據(jù)分析2第14頁(yè),共365頁(yè)。語(yǔ)法簡(jiǎn)單精練。對(duì)于初學(xué)者來說,比起其他編程語(yǔ)言,Python更容易上手。有很強(qiáng)大的庫(kù)??梢灾皇褂肞ython這一種語(yǔ)言去構(gòu)建以數(shù)據(jù)為中心的應(yīng)用程序。功能強(qiáng)大。Python是一個(gè)混合體

9、,豐富的工具集使它介于傳統(tǒng)的腳本語(yǔ)言和系統(tǒng)語(yǔ)言之間。Python不僅具備所有腳本語(yǔ)言簡(jiǎn)單和易用的特點(diǎn),還提供了編譯語(yǔ)言所具有的高級(jí)軟件工程工具。不僅適用于研究和原型構(gòu)建,同時(shí)也適用于構(gòu)建生產(chǎn)系統(tǒng)。研究人員和工程技術(shù)人員使用同一種編程工具,會(huì)給企業(yè)帶來非常顯著的組織效益,并降低企業(yè)的運(yùn)營(yíng)成本。Python是一門膠水語(yǔ)言。Python程序能夠以多種方式輕易地與其他語(yǔ)言的組件“粘接”在一起。了解Python數(shù)據(jù)分析的優(yōu)勢(shì)Python 數(shù)據(jù)分析主要包含以下 5 個(gè)方面優(yōu)勢(shì)第15頁(yè),共365頁(yè)。是一個(gè)增強(qiáng)的Python shell,目的是提高編寫、測(cè)試、調(diào)試Python代碼的速度。主要用于交互式數(shù)據(jù)并行

10、處理,是分布式計(jì)算的基礎(chǔ)架構(gòu)。提供了一個(gè)類似于Mathematica的HTML筆記本,一個(gè)基于Qt框架的GUI控制臺(tái),具有繪圖、多行編輯以及語(yǔ)法高亮顯示等功能。了解Python數(shù)據(jù)分析常用類庫(kù)1IPython科學(xué)計(jì)算標(biāo)準(zhǔn)工具集的組成部分第16頁(yè),共365頁(yè)??焖俑咝У亩嗑S數(shù)組對(duì)象 ndarray。對(duì)數(shù)組執(zhí)行元素級(jí)的計(jì)算以及直接對(duì)數(shù)組執(zhí)行數(shù)學(xué)運(yùn)算的函數(shù)。讀寫硬盤上基于數(shù)組的數(shù)據(jù)集的工具。線性代數(shù)運(yùn)算、傅里葉變換,以及隨機(jī)數(shù)生成的功能。將 C、C+、Fortran 代碼集成到 Python 的工具。了解Python數(shù)據(jù)分析常用類庫(kù)2NumPy(Numerical Python) Python 科學(xué)

11、計(jì)算的基礎(chǔ)包第17頁(yè),共365頁(yè)。SciPy 主要包含了 8 個(gè)模塊,不同的子模塊有不同的應(yīng)用,如插值、積分、優(yōu)化、圖像處理和特殊函數(shù)等。egrate 數(shù)值積分例程和微分方程求解器scipy.linalg 擴(kuò)展了由 numpy.linalg 提供的線性代數(shù)例程和矩陣分解功能scipy.optimize 函數(shù)優(yōu)化器(最小化器)以及根查找算法scipy.signal 信號(hào)處理工具scipy.sparse 稀疏矩陣和稀疏線性系統(tǒng)求解器scipy.special SPECFUN(這是一個(gè)實(shí)現(xiàn)了許多常用數(shù)學(xué)函數(shù)的 Fortran 庫(kù))的包裝器scipy.stats 檢驗(yàn)連續(xù)和離散概率分

12、布、各種統(tǒng)計(jì)檢驗(yàn)方法,以及更好的描述統(tǒng)計(jì)法scipy.weave 利用內(nèi)聯(lián) C+代碼加速數(shù)組計(jì)算的工具了解Python數(shù)據(jù)分析常用類庫(kù)3SciPy專門解決科學(xué)計(jì)算中各種標(biāo)準(zhǔn)問題域的模塊的集合第18頁(yè),共365頁(yè)。提供了一系列能夠快速、便捷地處理結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和函數(shù)。高性能的數(shù)組計(jì)算功能以及電子表格和關(guān)系型數(shù)據(jù)庫(kù)(如 SQL)靈活的數(shù)據(jù)處理功能。復(fù)雜精細(xì)的索引功能,以便便捷地完成重塑、切片和切塊、聚合及選取數(shù)據(jù)子集等操作。了解Python數(shù)據(jù)分析常用類庫(kù)4Pandas數(shù)據(jù)分析核心庫(kù)第19頁(yè),共365頁(yè)。Python的2D繪圖庫(kù),非常適合創(chuàng)建出版物上用的圖表。操作比較容易,只需幾行代碼即可生

13、成直方圖、功率譜圖、條形圖、錯(cuò)誤圖和散點(diǎn)圖等圖形。提供了pylab的模塊,其中包括了NumPy和pyplot中許多常用的函數(shù),方便用戶快速進(jìn)行計(jì)算和繪圖。交互式的數(shù)據(jù)繪圖環(huán)境,繪制的圖表也是交互式的。了解Python數(shù)據(jù)分析常用類庫(kù)5Matplotlib繪制數(shù)據(jù)圖表的 Python 庫(kù)第20頁(yè),共365頁(yè)。簡(jiǎn)單有效,可以供用戶在各種環(huán)境下重復(fù)使用。封裝了一些常用的算法方法。基本模塊主要有數(shù)據(jù)預(yù)處理、模型選擇、分類、聚類、數(shù)據(jù)降維和回歸 6 個(gè),在數(shù)據(jù)量不大的情況下,scikit-learn可以解決大部分問題。了解Python數(shù)據(jù)分析常用類庫(kù)6scikit-learn數(shù)據(jù)挖掘和數(shù)據(jù)分析工具第21

14、頁(yè),共365頁(yè)。提供高級(jí)的代碼編輯、交互測(cè)試和調(diào)試等特性。包含數(shù)值計(jì)算環(huán)境??捎糜趯⒄{(diào)試控制臺(tái)直接集成到圖形用戶界面的布局中。模仿MATLAB的“工作空間”,可以很方便地觀察和修改數(shù)組的值。了解Python數(shù)據(jù)分析常用類庫(kù)7Spyder交互式 Python 語(yǔ)言開發(fā)環(huán)境第22頁(yè),共365頁(yè)。掌握 Jupyter Notebook 常用功能目錄41認(rèn)識(shí)數(shù)據(jù)分析安裝 Python 的 Anaconda 發(fā)行版3熟悉Python數(shù)據(jù)分析的工具2第23頁(yè),共365頁(yè)。預(yù)裝了大量常用 Packages。完全開源和免費(fèi)。額外的加速和優(yōu)化是收費(fèi)的,但對(duì)于學(xué)術(shù)用途,可以申請(qǐng)免費(fèi)的 License。對(duì)全平臺(tái)和幾

15、乎所有Python版本支持。了解 Python 的 Anaconda 發(fā)行版Anaconda第24頁(yè),共365頁(yè)。安裝包“next”“I agree”“All Users(requires admin privileges)”選擇安裝路徑“Install”“finish”。在 Windows 系統(tǒng)上安裝 Anaconda安裝流程第25頁(yè),共365頁(yè)。目錄1認(rèn)識(shí)數(shù)據(jù)分析熟悉Python數(shù)據(jù)分析的工具2安裝 Python 的 Anaconda 發(fā)行版3掌握 Jupyter Notebook 常用功能4第26頁(yè),共365頁(yè)。掌握 Jupyter Notebook 的基本功能打開并新建一個(gè)Notebo

16、ok打開 Jupyter Notebook“Text File”為純文本型“Folder” 為文件夾“Python 3” 表示 Python 運(yùn)行腳本第27頁(yè),共365頁(yè)。選擇”Python 3”選項(xiàng),進(jìn)入 Python 腳本編輯界面,Notebook 文檔由一系列單元(Cell)構(gòu)成,主要有兩種形式的單元。掌握 Jupyter Notebook 的基本功能Jupyter Notebook 的界面及其構(gòu)成代碼單元。這里是讀者編寫代碼的地方。Markdown 單元。在這里對(duì)文本進(jìn)行編輯。第28頁(yè),共365頁(yè)。編輯模式:用于編輯文本和代碼。掌握 Jupyter Notebook 的基本功能編輯界面

17、命令模式:用于執(zhí)行鍵盤輸入的快捷命令。第29頁(yè),共365頁(yè)?!癊sc”鍵:進(jìn)入命令模式“Y” 鍵:切換到代碼單元“M”鍵:切換到 Markdown 單元“B”鍵:在本單元的下方增加一單元“H”鍵:查看所有快捷命令“ShiftEnter”組合鍵:運(yùn)行代碼掌握 Jupyter Notebook 的基本功能快捷鍵第30頁(yè),共365頁(yè)。Markdown 是一種可以使用普通文本編輯器編寫的標(biāo)記語(yǔ)言,通過簡(jiǎn)單的標(biāo)記語(yǔ)法,它可以使普通文本內(nèi)容具有一定的格式。標(biāo)題:標(biāo)題是標(biāo)明文章和作品等內(nèi)容的簡(jiǎn)短語(yǔ)句。一個(gè)“#”字符代表一級(jí)標(biāo)題,以此類推。掌握 Jupyter Notebook 的高級(jí)功能1Markdown第

18、31頁(yè),共365頁(yè)。列表:列表是一種由數(shù)據(jù)項(xiàng)構(gòu)成的有限序列,即按照一定的線性順序排列而成的數(shù)據(jù)項(xiàng)的集合。對(duì)于無序列表,使用星號(hào)、加號(hào)或者減號(hào)作為列表標(biāo)記對(duì)于有序列表,則是使用數(shù)字“,”“(一個(gè)空格)”。掌握 Jupyter Notebook 的高級(jí)功能1Markdown第32頁(yè),共365頁(yè)。加粗斜體:前后有兩個(gè)星號(hào)或下劃線表示加粗,前后有 3 個(gè)星號(hào)或下劃線表示斜體。掌握 Jupyter Notebook 的高級(jí)功能1Markdown第33頁(yè),共365頁(yè)。表格:代碼的第一行表示表頭,第二行分隔表頭和主體部分,從第三行開始,每一行代表一個(gè)表格行;列與列之間用符號(hào)“”隔開,表格每一行的兩邊也要有符

19、號(hào)“”。掌握 Jupyter Notebook 的高級(jí)功能1Markdown第34頁(yè),共365頁(yè)。數(shù)學(xué)公式編輯:LaTeX 是寫科研論文的必備工具, Markdown 單元中也可以使用 LaTeX 來插入數(shù)學(xué)公式。在文本行中插入數(shù)學(xué)公式,應(yīng)在公式前后分別加上一個(gè)“$” 符號(hào)如果要插入一個(gè)數(shù)學(xué)區(qū)塊,則在公式前后分別加上兩個(gè)“$”符號(hào)。掌握 Jupyter Notebook 的高級(jí)功能1Markdown第35頁(yè),共365頁(yè)。Notebook 還有一個(gè)強(qiáng)大的特性,就是導(dǎo)出功能??梢詫?Notebook 導(dǎo)出為多種格式,如HTML、Markdown、reST、PDF(通過 LaTeX)等格式。導(dǎo)出功能

20、可通過選擇“File”“Download as”級(jí)聯(lián)菜單中的命令實(shí)現(xiàn)。掌握 Jupyter Notebook 的高級(jí)功能2導(dǎo)出功能第36頁(yè),共365頁(yè)。第37頁(yè),共365頁(yè)。NumPy 數(shù)值計(jì)算基礎(chǔ)2018/1/20第38頁(yè),共365頁(yè)。1掌握 NumPy 矩陣與通用函數(shù)利用 NumPy 進(jìn)行統(tǒng)計(jì)分析目錄掌握 NumPy 數(shù)組對(duì)象 ndarray23第39頁(yè),共365頁(yè)。屬性說明ndim返回 int。表示數(shù)組的維數(shù)shape返回 tuple。表示數(shù)組的尺寸,對(duì)于 n 行 m 列的矩陣,形狀為(n,m)size返回 int。表示數(shù)組的元素總數(shù),等于數(shù)組形狀的乘積dtype返回 data-type

21、。描述數(shù)組中元素的類型itemsize返回 int。表示數(shù)組的每個(gè)元素的大小(以字節(jié)為單位)。創(chuàng)建數(shù)組對(duì)象1數(shù)組屬性:ndarray(數(shù)組)是存儲(chǔ)單一數(shù)據(jù)類型的多維數(shù)組。第40頁(yè),共365頁(yè)。參數(shù)名稱說明object接收array。表示想要?jiǎng)?chuàng)建的數(shù)組。無默認(rèn)。dtype接收data-type。表示數(shù)組所需的數(shù)據(jù)類型。如果未給定,則選擇保存對(duì)象所需的最小類型。默認(rèn)為None。ndmin接收int。指定生成數(shù)組應(yīng)該具有的最小維數(shù)。默認(rèn)為None。創(chuàng)建數(shù)組對(duì)象2數(shù)組創(chuàng)建numpy.array(object, dtype=None, copy=True, order=K,subok=False, nd

22、min=0)第41頁(yè),共365頁(yè)。In1:import numpy as np #導(dǎo)入NumPy庫(kù)arr1 = np.array(1, 2, 3, 4) #創(chuàng)建一維數(shù)組print(創(chuàng)建的數(shù)組為:,arr1)Out1:創(chuàng)建的數(shù)組為: 1 2 3 4In2:arr2 = np.array(1, 2, 3, 4,4, 5, 6, 7, 7, 8, 9, 10) #創(chuàng)建二維數(shù)組print(創(chuàng)建的數(shù)組為:n,arr2)Out2:創(chuàng)建的數(shù)組為: 1 2 3 4 4 5 6 7 7 8 9 10In3:print(數(shù)組維度為:,arr2.shape) #查看數(shù)組結(jié)構(gòu)Out3:數(shù)組維度為: (3, 4)創(chuàng)建數(shù)

23、組對(duì)象創(chuàng)建數(shù)組并查看數(shù)組屬性In4:print(數(shù)組維度為:,arr2.dtype) #查看數(shù)組類型Out4:數(shù)組維度為: int32In5:print(數(shù)組元素個(gè)數(shù)為:,arr2.size) #查看數(shù)組元素個(gè)數(shù)Out5:數(shù)組元素個(gè)數(shù)為: 12In6:print(數(shù)組每個(gè)元素大小為:,arr2.itemsize) #查看數(shù)組每個(gè)元素大小Out6:數(shù)組每個(gè)元素大小為: 4第42頁(yè),共365頁(yè)。創(chuàng)建數(shù)組對(duì)象重新設(shè)置數(shù)組的 shape 屬性In7:arr2.shape = 4,3 #重新設(shè)置 shapeprint(重新設(shè)置 shape 后的 arr2 為:,arr2)Out7:重新設(shè)置shape維度

24、后的arr2為: 1 2 3 4 4 5 6 7 7 8 9 10使用 arange 函數(shù)創(chuàng)建數(shù)組In8:print(使用 arange 函數(shù)創(chuàng)建的數(shù)組為:n,np.arange(0,1,0.1)Out8:使用arange函數(shù)創(chuàng)建的數(shù)組為: 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9第43頁(yè),共365頁(yè)。創(chuàng)建數(shù)組對(duì)象使用 linspace 函數(shù)創(chuàng)建數(shù)組In9:print(使用 linspace 函數(shù)創(chuàng)建的數(shù)組為:,np.linspace(0, 1, 12)Out9:使用linspace函數(shù)創(chuàng)建的數(shù)組為: 0. 0.09090909 1. 使用 logspace

25、 函數(shù)創(chuàng)建等比數(shù)列In10:print(使用logspace函數(shù)創(chuàng)建的數(shù)組為:,np.logspace(0, 2, 20)Out10:使用logspace函數(shù)創(chuàng)建的數(shù)組為: 1. 1.27427499 1.62377674 ., 61.58482111 78.47599704 100. 第44頁(yè),共365頁(yè)。創(chuàng)建數(shù)組對(duì)象使用zeros函數(shù)創(chuàng)建數(shù)組In11:print(使用zeros函數(shù)創(chuàng)建的數(shù)組為:,np.zeros(2,3)Out11:使用zeros函數(shù)創(chuàng)建的數(shù)組為: 0. 0. 0. 0. 0. 0.使用eye函數(shù)創(chuàng)建數(shù)組In12:print(使用eye函數(shù)創(chuàng)建的數(shù)組為:,np.eye(3

26、)Out12:使用eye函數(shù)創(chuàng)建的數(shù)組為: 1. 0. 0. 0. 1. 0. 0. 0. 1.第45頁(yè),共365頁(yè)。創(chuàng)建數(shù)組對(duì)象使用diag函數(shù)創(chuàng)建數(shù)組In13:print(使用diag函數(shù)創(chuàng)建的數(shù)組為:,np.diag(1,2,3,4)Out13:使用diag函數(shù)創(chuàng)建的數(shù)組為: 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4使用ones函數(shù)創(chuàng)建數(shù)組In14:print(使用ones函數(shù)創(chuàng)建的數(shù)組為:,np.ones(5,3)Out14:使用ones函數(shù)創(chuàng)建的數(shù)組為: 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.第46頁(yè),共365頁(yè)

27、。NumPy基本數(shù)據(jù)類型與其取值范圍(只展示一部分)創(chuàng)建數(shù)組對(duì)象3數(shù)組數(shù)據(jù)類型類型描述bool用一位存儲(chǔ)的布爾類型(值為TRUE或FALSE)inti由所在平臺(tái)決定其精度的整數(shù)(一般為int32或int64)int8整數(shù),范圍為128至127int16整數(shù),范圍為32768至32767int32第47頁(yè),共365頁(yè)。創(chuàng)建數(shù)組對(duì)象數(shù)組數(shù)據(jù)類型轉(zhuǎn)換In15:print(轉(zhuǎn)換結(jié)果為:,np.float64(42) #整型轉(zhuǎn)換為浮點(diǎn)型Out15:轉(zhuǎn)換結(jié)果為: 42.0In16:print(轉(zhuǎn)換結(jié)果為:,8(42.0) #浮點(diǎn)型轉(zhuǎn)換為整型Out16:轉(zhuǎn)換結(jié)果為: 42In17:print(轉(zhuǎn)

28、換結(jié)果為:,np.bool(42) #整型轉(zhuǎn)換為布爾型Out17:轉(zhuǎn)換結(jié)果為: TrueIn18:print(轉(zhuǎn)換結(jié)果為:,np.bool(0) #整型轉(zhuǎn)換為布爾型Out18:轉(zhuǎn)換結(jié)果為: FalseIn19:print(轉(zhuǎn)換結(jié)果為:,np.float(True) #布爾型轉(zhuǎn)換為浮點(diǎn)型Out19:轉(zhuǎn)換結(jié)果為: 1.0In20:print(轉(zhuǎn)換結(jié)果為:,np.float(False) #布爾型轉(zhuǎn)換為浮點(diǎn)型Out20:轉(zhuǎn)換結(jié)果為: 0.0第48頁(yè),共365頁(yè)。創(chuàng)建數(shù)組對(duì)象創(chuàng)建一個(gè)存儲(chǔ)餐飲企業(yè)庫(kù)存信息的數(shù)據(jù)類型。其中,用一個(gè)長(zhǎng)度為40個(gè)字符的字符串來記錄商品的名稱,用一個(gè)64位的整數(shù)來記錄商品的庫(kù)存

29、數(shù)量,最后用一個(gè)64位的單精度浮點(diǎn)數(shù)來記錄商品的價(jià)格,具體步驟如下。In21:df = np.dtype(name, np.str_, 40), (numitems, 64), (price,np.float64)print(數(shù)據(jù)類型為:,df)Out21:數(shù)據(jù)類型為: (name, U40), (numitems, i8), (price, f8)創(chuàng)建數(shù)據(jù)類型第49頁(yè),共365頁(yè)。創(chuàng)建數(shù)組對(duì)象查看數(shù)據(jù)類型,可以直接查看或者使用numpy.dtype函數(shù)查看。In22:print(數(shù)據(jù)類型為:,dfname)Out22:數(shù)據(jù)類型為: U40In23:print(數(shù)據(jù)類型為:,np.

30、dtype(dfname)Out23:數(shù)據(jù)類型為: 、=、=、!=。比較運(yùn)算返回的結(jié)果是一個(gè)布爾數(shù)組,每個(gè)元素為每個(gè)數(shù)組對(duì)應(yīng)元素的比較結(jié)果。邏輯運(yùn)算:np.any函數(shù)表示邏輯“or”,np.all函數(shù)表示邏輯“and”。運(yùn)算結(jié)果返回布爾值。認(rèn)識(shí)ufunc函數(shù)全稱通用函數(shù)(universal function),是一種能夠?qū)?shù)組中所有元素進(jìn)行操作的函數(shù)。第68頁(yè),共365頁(yè)。廣播(broadcasting)是指不同形狀的數(shù)組之間執(zhí)行算術(shù)運(yùn)算的方式。需要遵循4個(gè)原則。讓所有輸入數(shù)組都向其中shape最長(zhǎng)的數(shù)組看齊,shape中不足的部分都通過在前面加1補(bǔ)齊。輸出數(shù)組的shape是輸入數(shù)組shape

31、的各個(gè)軸上的最大值。如果輸入數(shù)組的某個(gè)軸和輸出數(shù)組的對(duì)應(yīng)軸的長(zhǎng)度相同或者其長(zhǎng)度為1時(shí),這個(gè)數(shù)組能夠用來計(jì)算,否則出錯(cuò)。當(dāng)輸入數(shù)組的某個(gè)軸的長(zhǎng)度為1時(shí),沿著此軸運(yùn)算時(shí)都用此軸上的第一組值。認(rèn)識(shí)ufunc函數(shù)ufunc函數(shù)的廣播機(jī)制第69頁(yè),共365頁(yè)。認(rèn)識(shí)ufunc函數(shù)ufunc函數(shù)的廣播機(jī)制第70頁(yè),共365頁(yè)。認(rèn)識(shí)ufunc函數(shù)ufunc函數(shù)的廣播機(jī)制第71頁(yè),共365頁(yè)。1掌握 NumPy 矩陣與通用函數(shù)利用 NumPy 進(jìn)行統(tǒng)計(jì)分析目錄掌握 NumPy 數(shù)組對(duì)象 ndarray23第72頁(yè),共365頁(yè)。save函數(shù)是以二進(jìn)制的格式保存數(shù)據(jù)。 np.save(./tmp/save_arr,

32、arr)load函數(shù)是從二進(jìn)制的文件中讀取數(shù)據(jù)。 np.load(./tmp/save_arr.npy) savez函數(shù)可以將多個(gè)數(shù)組保存到一個(gè)文件中。 np.savez(./tmp/savez_arr,arr1,arr2)存儲(chǔ)時(shí)可以省略擴(kuò)展名,但讀取時(shí)不能省略擴(kuò)展名。讀寫文件NumPy文件讀寫主要有二進(jìn)制的文件讀寫和文件列表形式的數(shù)據(jù)讀寫兩種形式第73頁(yè),共365頁(yè)。savetxt函數(shù)是將數(shù)組寫到某種分隔符隔開的文本文件中。 np.savetxt(./tmp/arr.txt, arr, fmt=%d, delimiter=,)loadtxt函數(shù)執(zhí)行的是把文件加載到一個(gè)二維數(shù)組中。 np.lo

33、adtxt(./tmp/arr.txt,delimiter=,)genfromtxt函數(shù)面向的是結(jié)構(gòu)化數(shù)組和缺失數(shù)據(jù)。 np.genfromtxt(./tmp/arr.txt, delimiter = ,)讀寫文件讀取文本格式的數(shù)據(jù)第74頁(yè),共365頁(yè)。sort函數(shù)是最常用的排序方法。 arr.sort()sort函數(shù)也可以指定一個(gè)axis參數(shù),使得sort函數(shù)可以沿著指定軸對(duì)數(shù)據(jù)集進(jìn)行排序。axis=1為沿橫軸排序; axis=0為沿縱軸排序。使用數(shù)組進(jìn)行簡(jiǎn)單統(tǒng)計(jì)分析直接排序第75頁(yè),共365頁(yè)。argsort函數(shù)返回值為重新排序值的下標(biāo)。 arr.argsort()lexsort函數(shù)返回值

34、是按照最后一個(gè)傳入數(shù)據(jù)排序的。 np.lexsort(a,b,c)使用數(shù)組進(jìn)行簡(jiǎn)單統(tǒng)計(jì)分析間接排序第76頁(yè),共365頁(yè)。通過unique函數(shù)可以找出數(shù)組中的唯一值并返回已排序的結(jié)果。tile函數(shù)主要有兩個(gè)參數(shù),參數(shù)“A”指定重復(fù)的數(shù)組,參數(shù)“reps”指定重復(fù)的次數(shù)。 np.tile(A,reps)repeat函數(shù)主要有三個(gè)參數(shù),參數(shù)“a”是需要重復(fù)的數(shù)組元素,參數(shù)“repeats”是重復(fù)次數(shù),參數(shù)“axis”指定沿著哪個(gè)軸進(jìn)行重復(fù),axis = 0表示按行進(jìn)行元素重復(fù);axis = 1表示按列進(jìn)行元素重復(fù)。 numpy.repeat(a, repeats, axis=None)這兩個(gè)函數(shù)的主

35、要區(qū)別在于,tile函數(shù)是對(duì)數(shù)組進(jìn)行重復(fù)操作,repeat函數(shù)是對(duì)數(shù)組中的每個(gè)元素進(jìn)行重復(fù)操作。使用數(shù)組進(jìn)行簡(jiǎn)單統(tǒng)計(jì)分析去重與重復(fù)數(shù)據(jù)第77頁(yè),共365頁(yè)。函數(shù)說明sum計(jì)算數(shù)組的和mean計(jì)算數(shù)組均值std計(jì)算數(shù)組標(biāo)準(zhǔn)差var計(jì)算數(shù)組方差min計(jì)算數(shù)組最小值max計(jì)算數(shù)組最大值argmin返回?cái)?shù)組最小元素的索引argmax返回?cái)?shù)組最小元素的索引cumsum計(jì)算所有元素的累計(jì)和cumprod計(jì)算所有元素的累計(jì)積常用的統(tǒng)計(jì)函數(shù)當(dāng)axis=0時(shí),表示沿著縱軸計(jì)算。當(dāng)axis=1時(shí),表示沿著橫軸計(jì)算。默認(rèn)時(shí)計(jì)算一個(gè)總值。第78頁(yè),共365頁(yè)。讀取iris數(shù)據(jù)集中的花萼長(zhǎng)度數(shù)據(jù)(已保存為csv格式),

36、并對(duì)其進(jìn)行排序、去重,并求出和、累積和、均值、標(biāo)準(zhǔn)差、方差、最小值、最大值任務(wù)實(shí)現(xiàn)第79頁(yè),共365頁(yè)。第80頁(yè),共365頁(yè)。Matplotlib數(shù)據(jù)可視化基礎(chǔ)2022/8/20第81頁(yè),共365頁(yè)。1分析特征間的關(guān)系目錄了解繪圖基礎(chǔ)語(yǔ)法與常用參數(shù)2分析特征內(nèi)部數(shù)據(jù)分布與分散狀況3小結(jié)4第82頁(yè),共365頁(yè)。掌握pyplot基礎(chǔ)語(yǔ)法基本繪圖流程第83頁(yè),共365頁(yè)。第一部分主要作用是構(gòu)建出一張空白的畫布,并可以選擇是否將整個(gè)畫布劃分為多個(gè)部分,方便在同一幅圖上繪制多個(gè)圖形的情況。最簡(jiǎn)單的繪圖可以省略第一部分,而后直接在默認(rèn)的畫布上進(jìn)行圖形繪制。掌握pyplot基礎(chǔ)語(yǔ)法1.創(chuàng)建畫布與創(chuàng)建子圖函數(shù)

37、名稱函數(shù)作用plt.figure創(chuàng)建一個(gè)空白畫布,可以指定畫布大小,像素。figure.add_subplot創(chuàng)建并選中子圖,可以指定子圖的行數(shù),列數(shù),與選中圖片編號(hào)。第84頁(yè),共365頁(yè)。第二部分是繪圖的主體部分。其中添加標(biāo)題,坐標(biāo)軸名稱,繪制圖形等步驟是并列的,沒有先后順序,可以先繪制圖形,也可以先添加各類標(biāo)簽。但是添加圖例一定要在繪制圖形之后。掌握pyplot基礎(chǔ)語(yǔ)法2.添加畫布內(nèi)容函數(shù)名稱函數(shù)作用plt.title在當(dāng)前圖形中添加標(biāo)題,可以指定標(biāo)題的名稱、位置、顏色、字體大小等參數(shù)。plt.xlabel在當(dāng)前圖形中添加x軸名稱,可以指定位置、顏色、字體大小等參數(shù)。plt.ylabel在

38、當(dāng)前圖形中添加y軸名稱,可以指定位置、顏色、字體大小等參數(shù)。plt.xlim指定當(dāng)前圖形x軸的范圍,只能確定一個(gè)數(shù)值區(qū)間,而無法使用字符串標(biāo)識(shí)。plt.ylim指定當(dāng)前圖形y軸的范圍,只能確定一個(gè)數(shù)值區(qū)間,而無法使用字符串標(biāo)識(shí)。plt.xticks指定x軸刻度的數(shù)目與取值。plt.yticks指定y軸刻度的數(shù)目與取值。plt.legend指定當(dāng)前圖形的圖例,可以指定圖例的大小、位置、標(biāo)簽。第85頁(yè),共365頁(yè)。第三部分主要用于保存和顯示圖形。掌握pyplot基礎(chǔ)語(yǔ)法3.存與展示圖形函數(shù)名稱函數(shù)作用plt.savafig保存繪制的圖片,可以指定圖片的分辨率、邊緣的顏色等參數(shù)。plt.show在本

39、機(jī)顯示圖形。第86頁(yè),共365頁(yè)。pyplot使用rc配置文件來自定義圖形的各種默認(rèn)屬性,被稱為rc配置或rc參數(shù)。在pyplot中幾乎所有的默認(rèn)屬性都是可以控制的,例如視圖窗口大小以及每英寸點(diǎn)數(shù)、線條寬度、顏色和樣式、坐標(biāo)軸、坐標(biāo)和網(wǎng)格屬性、文本、字體等。設(shè)置pyplot的動(dòng)態(tài)rc參數(shù)第87頁(yè),共365頁(yè)。設(shè)置pyplot的動(dòng)態(tài)rc參數(shù)線條的常用rc參數(shù)名稱、解釋與取值rc參數(shù)名稱解釋取值lines.linewidth線條寬度取0-10之間的數(shù)值,默認(rèn)為1.5。lines.linestyle線條樣式可取“-”“-”“-.”“:”四種。默認(rèn)為“-”。lines.marker線條上點(diǎn)的形狀可取“

40、o”“D”“h”“.”“,”“S”等20種,默認(rèn)為None。lines.markersize點(diǎn)的大小取0-10之間的數(shù)值,默認(rèn)為1。第88頁(yè),共365頁(yè)。設(shè)置pyplot的動(dòng)態(tài)rc參數(shù)常用線條類型解釋linestyle取值意義linestyle取值意義-實(shí)線-.點(diǎn)線-長(zhǎng)虛線:短虛線第89頁(yè),共365頁(yè)。marker取值意義marker取值意義o圓圈.點(diǎn)D菱形s正方形h六邊形1*星號(hào)H六邊形2d小菱形-水平線v一角朝下的三角形8八邊形一角朝右的三角形,像素一角朝上的三角形+加號(hào)豎線None無xX設(shè)置pyplot的動(dòng)態(tài)rc參數(shù)線條標(biāo)記解釋第90頁(yè),共365頁(yè)。由于默認(rèn)的pyplot字體并不支持中文

41、字符的顯示,因此需要通過設(shè)置font.sans-serif參數(shù)改變繪圖時(shí)的字體,使得圖形可以正常顯示中文。同時(shí),由于更改字體后,會(huì)導(dǎo)致坐標(biāo)軸中的部分字符無法顯示,因此需要同時(shí)更改axes.unicode_minus參數(shù)。除了設(shè)置線條和字體的rc參數(shù)外,還有設(shè)置文本、箱線圖、坐標(biāo)軸、刻度、圖例、標(biāo)記、圖片、圖像保存等rc參數(shù)。具體參數(shù)與取值可以參考官方文檔。設(shè)置pyplot的動(dòng)態(tài)rc參數(shù)注意事項(xiàng)第91頁(yè),共365頁(yè)。1分析特征間的關(guān)系目錄了解繪圖基礎(chǔ)語(yǔ)法與常用參數(shù)2分析特征內(nèi)部數(shù)據(jù)分布與分散狀況3小結(jié)4第92頁(yè),共365頁(yè)。散點(diǎn)圖(scatter diagram)又稱為散點(diǎn)分布圖,是以一個(gè)特征為

42、橫坐標(biāo),另一個(gè)特征為縱坐標(biāo),利用坐標(biāo)點(diǎn)(散點(diǎn))的分布形態(tài)反映特征間的統(tǒng)計(jì)關(guān)系的一種圖形。值是由點(diǎn)在圖表中的位置表示,類別是由圖表中的不同標(biāo)記表示,通常用于比較跨類別的數(shù)據(jù)。繪制散點(diǎn)圖散點(diǎn)圖第93頁(yè),共365頁(yè)。matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, alpha=None, *kwargs)常用參數(shù)及說明如下表所示。繪制散點(diǎn)圖scatter函數(shù)參數(shù)名稱說明x,y接收array。表示x軸和y軸對(duì)應(yīng)的數(shù)據(jù)。無默認(rèn)。s接收數(shù)值或者一維的array。指定點(diǎn)的大小,若傳入一維array則表示每個(gè)點(diǎn)的大小。默認(rèn)為None。c接

43、收顏色或者一維的array。指定點(diǎn)的顏色,若傳入一維array則表示每個(gè)點(diǎn)的顏色。默認(rèn)為Nonemarker接收特定string。表示繪制的點(diǎn)的類型。默認(rèn)為None。alpha接收0-1的小數(shù)。表示點(diǎn)的透明度。默認(rèn)為None。第94頁(yè),共365頁(yè)。折線圖(line chart)是一種將數(shù)據(jù)點(diǎn)按照順序連接起來的圖形。可以看作是將散點(diǎn)圖,按照x軸坐標(biāo)順序連接起來的圖形。折線圖的主要功能是查看因變量y隨著自變量x改變的趨勢(shì),最適合用于顯示隨時(shí)間(根據(jù)常用比例設(shè)置)而變化的連續(xù)數(shù)據(jù)。同時(shí)還可以看出數(shù)量的差異,增長(zhǎng)趨勢(shì)的變化。繪制折線圖折線圖第95頁(yè),共365頁(yè)。matplotlib.pyplot.pl

44、ot(*args, *kwargs) plot函數(shù)在官方文檔的語(yǔ)法中只要求填入不定長(zhǎng)參數(shù),實(shí)際可以填入的主要參數(shù)主要如下。繪制折線圖plot函數(shù)參數(shù)名稱說明x,y接收array。表示x軸和y軸對(duì)應(yīng)的數(shù)據(jù)。無默認(rèn)。color接收特定string。指定線條的顏色。默認(rèn)為None。linestyle接收特定string。指定線條類型。默認(rèn)為“-”。marker接收特定string。表示繪制的點(diǎn)的類型。默認(rèn)為None。alpha接收0-1的小數(shù)。表示點(diǎn)的透明度。默認(rèn)為None。第96頁(yè),共365頁(yè)。color參數(shù)的8種常用顏色的縮寫。繪制折線圖plot函數(shù)顏色縮寫代表的顏色顏色縮寫代表的顏色b藍(lán)色m品

45、紅g綠色y黃色r紅色k黑色c青色w白色第97頁(yè),共365頁(yè)。國(guó)民生產(chǎn)總值數(shù)據(jù)總共有三大產(chǎn)業(yè)的國(guó)民生產(chǎn)總值,以及農(nóng)業(yè)、工業(yè)、建筑、批發(fā)、交通、餐飲、金融、房地產(chǎn)和其他行業(yè)各個(gè)季度的增加值。通過散點(diǎn)圖分析三大行業(yè)的國(guó)民生產(chǎn)總值可以發(fā)現(xiàn)我國(guó)產(chǎn)業(yè)結(jié)構(gòu)。通過比較各行業(yè)間季度的增加值則可以發(fā)現(xiàn)國(guó)民經(jīng)濟(jì)的主要貢獻(xiàn)行業(yè)。任務(wù)實(shí)現(xiàn)1.繪制2000-2017各產(chǎn)業(yè)與行業(yè)的國(guó)民生產(chǎn)總值散點(diǎn)圖第98頁(yè),共365頁(yè)。通過繪制2000-2017各產(chǎn)業(yè)與行業(yè)的國(guó)民生產(chǎn)總值折線圖,分別能夠發(fā)現(xiàn)我國(guó)經(jīng)濟(jì)各產(chǎn)業(yè)與各行業(yè)增長(zhǎng)趨勢(shì)。任務(wù)實(shí)現(xiàn)2.繪制2000-2017各產(chǎn)業(yè)與行業(yè)的國(guó)民生產(chǎn)總值折線圖第99頁(yè),共365頁(yè)。1分析特征間的

46、關(guān)系目錄了解繪圖基礎(chǔ)語(yǔ)法與常用參數(shù)2分析特征內(nèi)部數(shù)據(jù)分布與分散狀況3小結(jié)4第100頁(yè),共365頁(yè)。直方圖(Histogram)又稱質(zhì)量分布圖,是統(tǒng)計(jì)報(bào)告圖的一種,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)所屬類別,縱軸表示數(shù)量或者占比。用直方圖可以比較直觀地看出產(chǎn)品質(zhì)量特性的分布狀態(tài),便于判斷其總體質(zhì)量分布情況。直方圖可以發(fā)現(xiàn)分布表無法發(fā)現(xiàn)的數(shù)據(jù)模式、樣本的頻率分布和總體的分布。繪制直方圖直方圖第101頁(yè),共365頁(yè)。matplotlib.pyplot.bar(left,height,width = 0.8,bottom = None,hold = None,dat

47、a = None,* kwargs )常用參數(shù)及說明如下表所示。繪制直方圖bar函數(shù)參數(shù)名稱說明left接收array。表示x軸數(shù)據(jù)。無默認(rèn)。height接收array。表示x軸所代表數(shù)據(jù)的數(shù)量。無默認(rèn)。width接收0-1之間的float。指定直方圖寬度。默認(rèn)為0.8。color接收特定string或者包含顏色字符串的array。表示直方圖顏色。默認(rèn)為None。第102頁(yè),共365頁(yè)。餅圖(Pie Graph)是將各項(xiàng)的大小與各項(xiàng)總和的比例顯示在一張“餅”中,以“餅”的大小來確定每一項(xiàng)的占比。餅圖可以比較清楚地反映出部分與部分、部分與整體之間的比例關(guān)系,易于顯示每組數(shù)據(jù)相對(duì)于總數(shù)的大小,而且

48、顯現(xiàn)方式直觀。繪制餅圖餅圖第103頁(yè),共365頁(yè)。matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, )常用參數(shù)及說明如下表所示。繪制餅圖pie函數(shù)參數(shù)名稱說明參數(shù)名稱說明x接收array。表示用于繪制撇的數(shù)據(jù)。無默認(rèn)。autopct接收特定string。指定數(shù)值的顯示方式。默認(rèn)為None。explode接收array。表示指定項(xiàng)離

49、餅圖圓心為n個(gè)半徑。默認(rèn)為None。pctdistance接收float。指定每一項(xiàng)的比例和距離餅圖圓心n個(gè)半徑。默認(rèn)為0.6。labels接收array。指定每一項(xiàng)的名稱。默認(rèn)為None。labeldistance接收float。指定每一項(xiàng)的名稱和距離餅圖圓心多少個(gè)半徑。默認(rèn)為1.1。color接收特定string或者包含顏色字符串的array。表示餅圖顏色。默認(rèn)為None。radius接收float。表示餅圖的半徑。默認(rèn)為1。第104頁(yè),共365頁(yè)。箱線圖(boxplot)也稱箱須圖,其繪制需使用常用的統(tǒng)計(jì)量,能提供有關(guān)數(shù)據(jù)位置和分散情況的關(guān)鍵信息,尤其在比較不同特征時(shí),更可表現(xiàn)其分散程度

50、差異。箱線圖利用數(shù)據(jù)中的五個(gè)統(tǒng)計(jì)量(最小值、下四分位數(shù)、中位數(shù)、上四分位數(shù)和最大值)來描述數(shù)據(jù),它也可以粗略地看出數(shù)據(jù)是否具有對(duì)稱性、分布的分散程度等信息,特別可以用于對(duì)幾個(gè)樣本的比較。繪制箱線圖箱線圖第105頁(yè),共365頁(yè)。matplotlib.pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None,meanline=None, labels=None, )常用參數(shù)及說明如下表所示。繪制箱線圖boxplot函數(shù)參數(shù)名稱說明參數(shù)名稱說

51、明x接收array。表示用于繪制箱線圖的數(shù)據(jù)。無默認(rèn)。positions接收array。表示圖形位置。默認(rèn)為None。notch接收boolean。表示中間箱體是否有缺口。默認(rèn)為None。widths接收scalar或者array。表示每個(gè)箱體的寬度。默認(rèn)為None。sym接收特定sting。指定異常點(diǎn)形狀。默認(rèn)為None。labels接收array。指定每一個(gè)箱線圖的標(biāo)簽。默認(rèn)為None。vert接收boolean。表示圖形是橫向縱向或者橫向。默認(rèn)為None。meanline接收boolean。表示是否顯示均值線。默認(rèn)為False。第106頁(yè),共365頁(yè)。通過直方圖分析2000年第一季度和2

52、017年第一季度之間的三大產(chǎn)業(yè)的國(guó)民生產(chǎn)總值,可以發(fā)現(xiàn)各產(chǎn)業(yè)絕對(duì)數(shù)值之間的關(guān)系,并通過對(duì)比發(fā)現(xiàn)產(chǎn)業(yè)結(jié)構(gòu)的變化。同理可以得出行業(yè)間的絕對(duì)數(shù)值關(guān)系以及17年來行業(yè)發(fā)展?fàn)顩r。任務(wù)實(shí)現(xiàn)1.繪制國(guó)民生產(chǎn)總值構(gòu)成分布直方圖第107頁(yè),共365頁(yè)。通過分析2000年與2017年不同的產(chǎn)業(yè)和行業(yè)在國(guó)民生產(chǎn)總值中的占比,可以發(fā)現(xiàn)我國(guó)產(chǎn)業(yè)結(jié)構(gòu)變化和行業(yè)變遷。任務(wù)實(shí)現(xiàn)2.繪制國(guó)民生產(chǎn)總值構(gòu)成分布餅圖第108頁(yè),共365頁(yè)。通過分析2000年至2017年不同的產(chǎn)業(yè)和行業(yè)在國(guó)民生產(chǎn)總值中的分散情況,可以發(fā)現(xiàn)整體分散情況,從而判斷整體增速是否加快。任務(wù)實(shí)現(xiàn)3.繪制國(guó)民生產(chǎn)總值分散情況箱線圖第109頁(yè),共365頁(yè)。1分析特

53、征間的關(guān)系目錄了解繪圖基礎(chǔ)語(yǔ)法與常用參數(shù)2分析特征內(nèi)部數(shù)據(jù)分布與分散狀況3小結(jié)4第110頁(yè),共365頁(yè)。本章以2000至2017年各季度國(guó)民生產(chǎn)總值數(shù)據(jù)為例,介紹了pyplot繪圖的基本語(yǔ)法,常用參數(shù)。介紹了分析特征間相關(guān)關(guān)系的散點(diǎn)圖。分析特征間趨勢(shì)關(guān)系的折線圖。分析特征內(nèi)部數(shù)據(jù)分布的直方圖和餅狀圖。以及分析特征內(nèi)部數(shù)據(jù)分散情況的箱線圖。為讀者后續(xù)深入學(xué)習(xí)Matplotlib數(shù)據(jù)可視化打下了深厚的基礎(chǔ)。小結(jié)第111頁(yè),共365頁(yè)。第112頁(yè),共365頁(yè)。pandas統(tǒng)計(jì)分析基礎(chǔ)2022/8/20第113頁(yè),共365頁(yè)。1掌握DataFrame的常用操作目錄讀寫不同數(shù)據(jù)源的數(shù)據(jù)2轉(zhuǎn)換與處理時(shí)間序

54、列數(shù)據(jù)3第114頁(yè),共365頁(yè)。pandas提供了讀取與存儲(chǔ)關(guān)系型數(shù)據(jù)庫(kù)數(shù)據(jù)的函數(shù)與方法。除了pandas庫(kù)外,還需要使用SQLAlchemy庫(kù)建立對(duì)應(yīng)的數(shù)據(jù)庫(kù)連接。SQLAlchemy配合相應(yīng)數(shù)據(jù)庫(kù)的Python連接工具(例如MySQL數(shù)據(jù)庫(kù)需要安裝mysqlclient或者pymysql庫(kù)),使用create_engine函數(shù),建立一個(gè)數(shù)據(jù)庫(kù)連接。creat_engine中填入的是一個(gè)連接字符串。在使用Python的SQLAlchemy時(shí),MySQL和Oracle數(shù)據(jù)庫(kù)連接字符串的格式如下 數(shù)據(jù)庫(kù)產(chǎn)品名+連接工具名:/用戶名:密碼數(shù)據(jù)庫(kù)IP地址:數(shù)據(jù)庫(kù)端口號(hào)/數(shù)據(jù)庫(kù)名稱?charset =

55、 數(shù)據(jù)庫(kù)數(shù)據(jù)編碼讀寫數(shù)據(jù)庫(kù)數(shù)據(jù)1.數(shù)據(jù)庫(kù)數(shù)據(jù)讀取第115頁(yè),共365頁(yè)。read_sql_table只能夠讀取數(shù)據(jù)庫(kù)的某一個(gè)表格,不能實(shí)現(xiàn)查詢的操作。 pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, columns=None)read_sql_query則只能實(shí)現(xiàn)查詢操作,不能直接讀取數(shù)據(jù)庫(kù)中的某個(gè)表。 pandas.read_sql_query(sql, con, index_col=None, coerce_float=True)read_sql是兩者的綜合,既能夠

56、讀取數(shù)據(jù)庫(kù)中的某一個(gè)表,也能夠?qū)崿F(xiàn)查詢操作。 pandas.read_sql(sql, con, index_col=None, coerce_float=True, columns=None)讀寫數(shù)據(jù)庫(kù)數(shù)據(jù)1.數(shù)據(jù)庫(kù)數(shù)據(jù)讀取第116頁(yè),共365頁(yè)。參數(shù)名稱說明sql or table_name接收string。表示讀取的數(shù)據(jù)的表名或者sql語(yǔ)句。無默認(rèn)。con接收數(shù)據(jù)庫(kù)連接。表示數(shù)據(jù)庫(kù)連接信息。無默認(rèn)index_col接收int,sequence或者False。表示設(shè)定的列作為行名,如果是一個(gè)數(shù)列則是多重索引。默認(rèn)為None。coerce_float接收boolean。將數(shù)據(jù)庫(kù)中的decim

57、al類型的數(shù)據(jù)轉(zhuǎn)換為pandas中的float64類型的數(shù)據(jù)。默認(rèn)為True。columns接收l(shuí)ist。表示讀取數(shù)據(jù)的列名。默認(rèn)為None。讀寫數(shù)據(jù)庫(kù)數(shù)據(jù)1.數(shù)據(jù)庫(kù)數(shù)據(jù)讀取pandas三個(gè)數(shù)據(jù)庫(kù)數(shù)據(jù)讀取函數(shù)的參數(shù)幾乎完全一致,唯一的區(qū)別在于傳入的是語(yǔ)句還是表名。第117頁(yè),共365頁(yè)。數(shù)據(jù)庫(kù)數(shù)據(jù)讀取有三個(gè)函數(shù),但數(shù)據(jù)存儲(chǔ)則只有一個(gè)to_sql方法。DataFrame.to_sql(name, con, schema=None, if_exists=fail, index=True, index_label=None, dtype=None)讀寫數(shù)據(jù)庫(kù)數(shù)據(jù)2.數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)參數(shù)名稱說明name

58、接收string。代表數(shù)據(jù)庫(kù)表名。無默認(rèn)。con接收數(shù)據(jù)庫(kù)連接。無默認(rèn)。if_exists接收fail,replace,append。fail表示如果表名存在則不執(zhí)行寫入操作;replace表示如果存在,將原數(shù)據(jù)庫(kù)表刪除,再重新創(chuàng)建;append則表示在原數(shù)據(jù)庫(kù)表的基礎(chǔ)上追加數(shù)據(jù)。默認(rèn)為fail。index接收boolean。表示是否將行索引作為數(shù)據(jù)傳入數(shù)據(jù)庫(kù)。默認(rèn)True。index_label接收string或者sequence。代表是否引用索引名稱,如果index參數(shù)為True此參數(shù)為None則使用默認(rèn)名稱。如果為多重索引必須使用sequence形式。默認(rèn)為None。dtype接收dic

59、t。代表寫入的數(shù)據(jù)類型(列名為key,數(shù)據(jù)格式為values)。默認(rèn)為None。第118頁(yè),共365頁(yè)。文本文件是一種由若干行字符構(gòu)成的計(jì)算機(jī)文件,它是一種典型的順序文件。csv是一種逗號(hào)分隔的文件格式,因?yàn)槠浞指舴灰欢ㄊ嵌禾?hào),又被稱為字符分隔文件,文件以純文本形式存儲(chǔ)表格數(shù)據(jù)(數(shù)字和文本)。讀寫文本文件1.文本文件讀取第119頁(yè),共365頁(yè)。使用read_table來讀取文本文件。pandas.read_table(filepath_or_buffer, sep=t, header=infer, names=None, index_col=None, dtype=None, engine=

60、None, nrows=None)使用read_csv函數(shù)來讀取csv文件。pandas.read_csv(filepath_or_buffer, sep=t, header=infer, names=None, index_col=None, dtype=None, engine=None, nrows=None)讀寫文本文件1.文本文件讀取第120頁(yè),共365頁(yè)。read_table和read_csv常用參數(shù)及其說明。讀寫文本文件1.文本文件讀取參數(shù)名稱說明filepath接收string。代表文件路徑。無默認(rèn)。sep接收string。代表分隔符。read_csv默認(rèn)為“,”,read_t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論