數據分析及可視化 課件全套 王斌會 第0-9章-課前準備-文本及在線數據的挖掘_第1頁
數據分析及可視化 課件全套 王斌會 第0-9章-課前準備-文本及在線數據的挖掘_第2頁
數據分析及可視化 課件全套 王斌會 第0-9章-課前準備-文本及在線數據的挖掘_第3頁
數據分析及可視化 課件全套 王斌會 第0-9章-課前準備-文本及在線數據的挖掘_第4頁
數據分析及可視化 課件全套 王斌會 第0-9章-課前準備-文本及在線數據的挖掘_第5頁
已閱讀5頁,還剩504頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據分析及可視化

—Excel+Python(微課版)課程安排王斌會

1、在基本統(tǒng)計學原理學習的基礎上,深入學習和掌握

【數據分析及可視化】

2、該門課程每周4課時,理論與上機結合。期末考核:

總成績=平時(20%)+上機(20%)+期末考試(60%)考試方式

平時(20):課堂(40%)+出勤(60%)上機(20):兩次作業(yè),一次50%

期末考試:閉卷數據分析及可視化教學大綱第1章數據分析及可視化概述

1.1數據分析概述

1.2數據的收集與管理

練習題1第2章Python數據分析平臺

2.1Python數據處理基礎

2.2Python數據處理方法

練習題2第3章數據的基本可視化方法

3.1基于列表的可視化

3.2基于數據框的可視化

練習題3第4章數據挖掘基礎及可視化

4.1數據的透視分析

4.2探索數據分析

練習題4第5章數據基本分析及可視化

5.1描述性數據分析

5.2數據的聚類分析

練習題5第6章數據綜合評價及可視化

6.1綜合評價方法及應用

6.2綜合指數的預警監(jiān)測

練習題6第7章數據統(tǒng)計推斷及可視化

7.1隨機抽樣及其分布圖

7.2參數的統(tǒng)計推斷

練習題7第8章數據模型分析及可視化

8.1相關分析及可視化

8.2線性回歸模型及可視化

8.3一般線性模型及可視化

練習題8第9章文本及在線數據的挖掘

9.1文本數據挖掘與可視化

9.2在線數據的獲取與分析

練習題9數據分析及可視化教材目錄王斌會數據分析及可視化教材大綱王斌會數據分析及可視化學習網站王斌會http://R數據分析及可視化/Rstat聯(lián)系方式王斌會中國.廣州

暨南大學管理學院數據分析資源共享平臺:

/RstatEmail:72880927@電話斌會版權所有:暨南大學王斌會Python數據可視化教程第1章數據分析及可視化概述1.1數據分析概述第1章數據分析及可視化概述1.1.1傳統(tǒng)的數據分析1.數據分析基礎1.1數據分析概述第1章數據分析及可視化概述1.1.1傳統(tǒng)的數據分析2.數據分析基本步驟1.1數據分析概述第1章數據分析及可視化概述1.1.2大數據分析基礎1.大數據的含義PB是大數據的臨界點KB->MB->GB->TB->PB->EB->ZB->YB->NB->DB1s是大數據的臨界點微信、微博、物聯(lián)網結構化、非結構化數據數據挖掘統(tǒng)計分析1.1數據分析概述第1章數據分析及可視化概述1.1.2大數據分析基礎2.大數據分析方法1.1數據分析概述第1章數據分析及可視化概述1.1.2大數據分析基礎2.大數據分析方法1.1數據分析概述第1章數據分析及可視化概述1.1.3數據分析可視化工具1.常用數據分析工具簡介1.1數據分析概述第1章數據分析及可視化概述1.1.3數據分析可視化工具2.數據分析及可視化工具選擇(1)可視化圖表分析工具①

Echart②

Highcharts③

AntV1.1數據分析概述第1章數據分析及可視化概述1.1.3數據分析可視化工具2.數據分析及可視化工具選擇(2)商業(yè)智能分析工具

①Tableau

②FineBI

③PowerBI1.1數據分析概述第1章數據分析及可視化概述1.1.3數據分析可視化工具2.數據分析及可視化工具選擇(3)編程分析語言

如果僅僅是做一般數據分析和可視化,數據量不是特別大,而且要求系統(tǒng)免費、開源、跨平臺,那么首選的數據分析和可視化組合應該是WPS+Python。

如果你的數據量不大,使用Window平臺的話,也可考慮用Excel+Python進行數據分析和可視化,但Excel收費。1.2數據的收集與管理第1章數據分析及可視化概述1.2.1數據集的構成1.數據分析指標的性質(1)定性指標(也稱計數數據):度量事物進行分類的結果,只能歸入某一類而不能用數值進行測度的數據稱為定性數據。數據表現為類別,常用文字來表述,如地區(qū)、年份、性別、區(qū)域、產品分類等。地區(qū):廣州,深圳,珠海,佛山,惠州,東莞,中山,江門,肇慶年份:2000,2001,2002,2003,2004,2005,,2015,2016,20171.2數據的收集與管理第1章數據分析及可視化概述1.2.1數據集的構成1.數據分析指標的性質(2)定量指標(也稱計量數據):度量事物的精確測度。結果表現為具體的數值,如國內生產總值(GDP)、從業(yè)人員、人均國內生產總值(人均GDP)、身高、體重、家庭收入、成績等人均GDP:2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74,21.32,12.92消費總額:0.88,30.61,30.62,34.62,45.04,41.58,62.1,61.37,47.36,54.93,95.381.2數據的收集與管理第1章數據分析及可視化概述1.2.1數據集的構成1.數據分析指標的性質2.分析指標體系的構建

指標體系通常由一個或多個指標組成。構建多變量指標體系應遵循以下幾項原則:(1)系統(tǒng)全面性原則(2)穩(wěn)定可比性原則(3)簡明科學性原則(4)靈活可操作性原則1.2數據的收集與管理第1章數據分析及可視化概述3.指標體系的組成(1)指標體系的構建1.2數據的收集與管理第1章數據分析及可視化概述3.指標體系的組成(2)指標體系的組成形式1.2數據的收集與管理第1章數據分析及可視化概述1.2.2數據的收集與保存1.數據的收集范圍

本課程的數據收集范圍是廣東省21個地區(qū)(廣州,深圳,珠海,佛山,惠州,東莞,中山,江門,肇慶……),時間跨度為2000~2019年,共20年。由于數據具有一定的時滯性,故選擇2000年作為研究的起點。本文的數據主要從歷年的《廣東省統(tǒng)計年鑒》和廣東省各地區(qū)統(tǒng)計網站等獲取。1.2數據的收集與管理第1章數據分析及可視化概述1.2.2數據的收集與保存2.數據的構成形式1.2數據的收集與管理第1章數據分析及可視化概述3.數據的存儲方式第1章數據分析及可視化概述第2章Python數據分析平臺2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境1.Python基礎編程環(huán)境

2.Anaconda計算發(fā)行包

3.Jupyter項目及其應用2.1.2Python的編程基礎1.Python的工作目錄2.Python基本數據類型3.Python擴展數據類型2.1.3Python的函數定義1.函數的定義與調用

2.函數的參數與返回值2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境1.Python基礎編程環(huán)境Python是一個強大的面向對象編程語言,這樣的編程環(huán)境需要使用者不僅熟悉各種命令的操作,還須熟悉命令行編程環(huán)境,而且所有命令執(zhí)行完即進入新的界面,這給那些不具備編程經驗或對統(tǒng)計方法掌握不是很好的使用者造成了極大的困難。2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境1.Python基礎編程環(huán)境/2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境2.Anaconda計算發(fā)行包(1)Anaconda的下載與安裝Anaconda是Python和R的開源發(fā)行版本。它能夠用于數據科學,機器學習,深度學習等領域。Anaconda能夠幫助簡化軟件包的管理和部署,它還匹配了多種工具,可以使用各種機器學習和人工智能算法輕松地從不同的來源收集數據。Anaconda還可以使用戶獲得一個易于管理的環(huán)境設置——用戶只需點擊按鈕就可以部署任何項目。2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境2.Anaconda計算發(fā)行包/products/individual2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境2.Anaconda計算發(fā)行包(2)Anaconda菜單與啟動裝好Anaconda系統(tǒng)后,會在Windows系統(tǒng)菜單中出現下面的菜單,里面包含了一些常用的數據分析平臺,如用于系統(tǒng)導航的AnacondaNavigator、執(zhí)行和安裝Anaconda包的命令行菜單AnacondaPrompt、進行數據分析教學的JupyterNotebook、用于數據分析編程的Spyder設置與研發(fā)平臺。2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境2.Anaconda計算發(fā)行包2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境3.Jupyter項目及其應用(1)Jupyter的啟動點擊Anaconda菜單JupyterNotebook或在AnacondaPrompt命令行輸入>jupyternotebook2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境3.Jupyter項目及其應用(1)Jupyter的啟動下面命令可直接在D:\DAV目錄中打開jupyternotebook>jupyternotebook--notebook-dir=D:\DAV也可以在命令行上用>d:>cdd:\DAV>d:\dav>jupyternotebook2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境3.Jupyter項目及其應用(2)Jupyter的快捷鍵編輯模式,允許往單元中輸入代碼或文本;這時的單元框線是綠色的。命令模式,通過鍵盤輸入運行程序命令;這時的單元框線是灰色的。2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境3.Jupyter項目及其應用(2)Jupyter的快捷鍵Shift+Enter:運行本單元,選中下一個單元;Ctrl+Enter:運行本單元;Alt+Enter:運行本單元,在其下插入新單元;2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境3.Jupyter項目及其應用(2)Jupyter的快捷鍵Y:單元轉入代碼狀態(tài);M:單元轉入markdown狀態(tài);A:在上方插入新單元;B:在下方插入新單元;X:剪切選中的單元;Shift+V:在上方粘貼單元。2.1Python數據處理基礎第2章Python數據分析平臺2.1.1Python的編程環(huán)境3.Jupyter項目及其應用(3)Jupyter的魔術關鍵字魔術關鍵字(magickeywords),正如其名,是用于控制Notebook的特殊命令。它們運行在代碼單元中,以%或%%開頭,前者控制一行,后者控制整個單元。比如,要得到代碼運行的時間,則可以使用%timeit;如要獲得當前目錄,可用%pwd,需要改變當前目錄,可用%cd"D:\\DAV",具體操作見下節(jié)。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎1.Python的工作目錄在使用Python時一個重要設置是定義工作目錄,即設置當前運行路徑(這樣全部數據和程序都可在該目錄下工作)。例如,可以將自己的Python工作目錄設定為D:\DAV(先在D盤上建立目錄DAV,然后在該目錄下編程和進行數據分析)。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎1.Python的工作目錄(1)獲得當前目錄In%pwdOut'C:\\Users\\Lenovo'2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎1.Python的工作目錄(2)改變工作目錄In%cd"D:\\DAV"Out"D:\DAV"2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型在內存中存儲的數據可以有多種類型。例如,一個人的年齡可以用數字來存儲,名字可以用字符來存儲。Python定義了一些基本數據類型,用于存儲各種類型的數據。Python的基本數據類型包括數值型、邏輯型、字符型、復數型等,也可能是列表、元組和字典等類型。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(1)數值型數值型數據的形式是實型,可以寫成整數(如n=3)、小數(如x=1.46)、科學記數(y=1e9)的方式,該類型數據默認是雙精度數據。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(1)數值型Python支持多種數值類型,常見的有:int(整數型)、float(實數型)、complex(復數型)等。但有別于其他編程語言,這些數值在使用前不需要定義它們的類型,直接輸入使用,系統(tǒng)會自動識別其類型。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(1)數值型在Python中用#表示注釋,即其后的語句或命令將不執(zhí)行。Inn=10#整數n#相當于print(n)Out102.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(1)數值型Inx=10.2345#實數x#無格式輸出Out10.2345Inx=10.2345print(“x=%6.3f”%x)#有格式輸出Outx=10.2340Inround(x,1)#保留一位小數Out10.22.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(2)邏輯型邏輯型數據只能取True或False值??梢酝ㄟ^比較獲得邏輯型數據。InA=True;AOutTrueIn10<9OutFalse2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(3)字符型字符型數據的形式是夾在雙引號“”或單引號‘’之間的字符串,如‘MR’。注意:一定要用英文引號,不能用中文引號“”或‘’。Python語言中的字符類型(str)是由數字、字母、下畫線組成的一串字符。一般形式為:‘IlovePython’或"IlovePython“2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(3)字符型它是編程語言中表示文本的數據類型。Ins=“Python";sOut'Python'InS='WelovePythondataanalysis';SOut'WelovePythondataanalysis'2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎2.Python基本數據類型(3)字符型Python的所有數據類型都是類,可以通過type()函數查看該變量的數據類型。用astype()可進行數據類型轉換。用astype()可進行數據類型轉換。Intype(n)OutintIntype(x)Outfloat2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型Python有幾個擴展的自定義數據類型,這些數據類型是由上述基本類型構成的。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型(1)列表(list)列表(list)是Python中最有用的數據類型之一。列表可以完成大多數集合類的數據結構實現。它支持字符、數字、字符串,甚至可以包含列表(即嵌套)。列表用[]標識,是一種最通用的復合數據類型。列表List是我們進行數據分析的基本類型,所以必須掌握。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型In珠三角=['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶'];珠三角Out['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶']InCGDP=[2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74];CGDP#人均GDPOut[2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74](1)列表(list)2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型(1)列表(list)Python的列表具有切片功能,列表中值的切割也可以用到變量[頭下標:尾下標],就可以截取相應的列表,從左到右索引默認0開始,從右到左索引默認1開始,下標可以為空,表示取到頭或尾。加號+是列表連接運算符。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型In珠三角[0]#輸出列表的第一個元素Out'廣州'In珠三角[1:3]#輸出第二個至第三個元素Out['深圳','珠海']In珠三角[2:]#輸出從第三個開始至列表末尾的所有元素Out['珠海','佛山','惠州','東莞','中山','江門','肇慶']In珠三角[:4]+CGDP[:4]#列表合并輸出Out['廣州','深圳','珠海','佛山',2.58,3.33,2.81,2.02]2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型(1)列表(list)python的內置函數range()可創(chuàng)建一個整數列表,使用range函數可生成各種類型的列表,在range在python3變成一個迭代器,輸出需用list。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型Ina=range(5)#從0開始到4的整數=range(0,4)list(a)#顯示整數列表Out[0,1,2,3,4]Inb=range(1,5)#從1開始到5整數列l(wèi)ist(b)Out[1,2,3,4]Inc=range(0,9,2)#步長為2的整數列l(wèi)ist(c)Out[0,2,4,6,8]2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型(2)字典(dictionary)字典(dictionary)也是一種Python自定義數據類型,可存儲任意類型對象,可看做列表的擴展形式。字典的每個鍵值對用冒號“:”分隔,每個鍵值對之間用逗號“,”分隔,整個字典包括在花括號{}中,格式如下:dict={key1:value1,key2:value2}2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型(2)字典(dictionary)鍵必須是唯一的,但值則不必,值可以取任何數據類型,如字符串、數字或列表。字典是除列表以外Python中最靈活的自定義數據結構類型。列表是有序的對象集合,字典是無序的對象集合。兩者之間的區(qū)別在于:字典中的元素是通過鍵來存取的,而不是通過下標存取。2.1Python數據處理基礎第2章Python數據分析平臺2.1.2Python的編程基礎3.Python擴展數據類型InDict={'區(qū)域':珠三角,'人均GDP':CGDP};Dict#定義字典Out{'區(qū)域':['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶'],'人均GDP':[2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74]}InDict['人均GDP’]#輸出鍵為'人均GDP'的值Out[2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74]InDict.keys()#輸出所有鍵Outdict_keys(['區(qū)域','人均GDP'])InDict.values()#輸出所有值Outdict_values([['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶'],[2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74]])2.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義1.函數的定義與調用(1)函數的定義下面簡單介紹一下Python的函數定義方法。定義函數的句法:def函數名(參數1,參數2,…):函數體Return2.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義1.函數的定義與調用(1)函數的定義函數名可以是任意字符,但之前定義過的要小心使用,后定義的函數會覆蓋先定義的函數。如果函數只用來計算,不需要返回結果,則可在函數中用print函數,這時只用變量名是無法顯示結果的。一旦定義了函數名,就可以像Python的其他函數一樣使用。2.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義1.函數的定義與調用(1)函數的定義由于Python是開源的,故所有函數使用者都可以查看其源代碼,而且所有人都可以隨時修改這些函數形成自己的函數。用戶自己寫的函數稱為自定義函數,Python語言最大的優(yōu)勢就是可以隨時隨地編寫自己的函數,而且可以像Python的內置函數一樣使用自定義的函數。2.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義1.函數的定義與調用(1)函數的定義首先寫一個類似于輸出最大值的自定義函數,比較兩個數的大小,并打印較大的數。print_max為函數名,x、y為函數參數,多個參數使用逗號隔開。Indefprint_max(x,y):ifx>y:print(x)else:print(y)2.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義1.函數的定義與調用(2)函數的調用函數寫好之后,需要供別人使用,例如我們使用(調用)上面的比較大小的函數。Inprint_max(3,5)Out52.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義2.函數的參數與返回值(1)函數的調用函數的參數:函數參數分為形參和實參,定義函數時的參數為形參,調用函數時傳入的參數為實參。例如在定義print_max函數時的x和y為形參,告訴使用者這里有兩個參數需要傳入,在調用函數時print_max(3,5)中的3和5為實參,是傳入的真實參數。2.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義2.函數的參數與返回值(2)函數返回值:很多時候我們希望一個函數通過計算得出某個結果,同時我們能夠拿到這個結果。例如上面的例子比較兩個數的大小,我們不僅需要能夠比較出來(打印出來),還需要得到其中較大的一個,那么這時候就需要返回語句。函數要想有返回值,可以使用return語句來實現。2.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義2.函數的參數與返回值(2)函數返回值舉例說明:把我們自定義的print_max函數做如下修改:Indefprint_max(x,y):ifx>y:return(x)else:return(y)Inz=print_max(3,5);zOut52.1Python數據處理基礎第2章Python數據分析平臺2.1.3Python的函數定義2.函數的參數與返回值(2)函數返回值return語句語法特點:函數中使用return語句,可以將值返回。return語句后不加參數,返回的值是None。如果在函數當中使用return語句,return之后的代碼行不會被執(zhí)行。2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包1.常用數據處理包

2.數據框及其構成

3.數據框的讀存2.2.2數據框的基本操作1.數據框結構2.數據框顯示3.選取列變量4.選取行數據2.2.3數據框的重組與透視1.合并數據框

2.數據框的重構3.數據框的透視2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包1.常用數據處理包Python具有豐富的數據分析模塊,大多數做數據分析的人使用Python是因為其強大的數據分析功能。所有的Python函數和數據集是保存在包(庫)里面的。只有當一個包被安裝并被載入時,它的內容才可以被訪問。這樣做一是為了高效(所有的方法加載會耗費大量的內存并且增加搜索的時間);二是為了幫助包的開發(fā)者,防止命名和其他代碼中的名稱沖突。2.2Python數據處理方法包名說明主要功能numpy數值計算包numpy(NumericPython)是Python的一種開源的數值計算擴展,以實現科學的計算。它提供了許多高級的數值計算工具,如矩陣數據類型、線性代數的運算庫。專為進行嚴格的數值運算而產生,具有Matlab的大部分數值計算功能。pandas數據操作包提供類似于R語言的DataFrame操作,非常方便。pandas是面板數據(PanelData)分析的簡寫。它是Python最強大的數據分析和探索工具,因金融數據分析而開發(fā),支持類似SQL的數據增刪改查,支持時間序列分析,靈活處理缺失數據。matplotlib基本繪圖包該包主要用于繪圖和繪表,是一個強大的數據可視化工具,語法類似Matlab,是Python的基本繪圖框架,提供了一整套和Matlab相似的命令API,十分適合基本數據分析制圖。第2章Python數據分析平臺2.2Python數據處理方法包名說明主要功能cufflinks動態(tài)繪圖包cufflinks是一個可視化的庫,可以無縫銜接pandas和plotly。cufflinks在plotly的基礎上做了一進一步的包裝,方法統(tǒng)一,參數配置簡單,可以結合pandas的DataFrame靈活地畫很多動態(tài)圖。scipy科學計算包提供了很多科學計算工具和算法,方便易于使用,專為科學和工程設計的Python工具包。它包括統(tǒng)計、優(yōu)化、整合、線性代數模塊、傅里葉變換、信號和圖像處理、常微分方程求解器等,包含常用的統(tǒng)計估計和檢驗方法statsmodels統(tǒng)計模型包statsmodel可以補充scipy.stats,是一個包含統(tǒng)計模型、統(tǒng)計測試和統(tǒng)計數據挖掘的Python模塊。對每一個模型都會生成一個對應的統(tǒng)計結果,對時間序列有完美支持第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包1.常用數據處理包注意:安裝程序包和調用程序包是兩個概念,安裝程序包是指將需要的程序包安裝到電腦中,調用包是指將程序包調入Python環(huán)境中。如numpy、matplotlib、pandas、scipy和statsmodels這些常用的數據分析包Anaconda已自動安裝了,而cufflinks包需要我們手動安裝。有兩種方式:2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包1.常用數據處理包(1)命令行安裝:在AnacondaPrompt的命令行安裝>pipinstallcufflinks(2)平臺里安裝:在JupyterNotebook或JupyterLab中安裝2.2Python數據處理方法第2章Python數據分析平臺In!pipinstallcufflinksOutRequirementalreadysatisfied:cufflinksinc:\users\lenovo\anaconda3\lib\site-packages(0.17.3)Requirementalreadysatisfied:ipywidgets>=7.0.0inc:\users\lenovo\anaconda3\lib\site-packages(fromcufflinks)(7.5.1)Requirementalreadysatisfied:ipython>=5.3.0inc:\users\lenovo\anaconda3\lib\site-packages(fromcufflinks)(7.16.1)Requirementalreadysatisfied:plotly>=4.1.1inc:\users\lenovo\anaconda3\lib\site-packages(fromcufflinks)(4.12.0)……2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包1.常用數據處理包(3)包及其函數使用下面以numpy為例介紹Python中已安裝的包及其函數的使用。numpy是Python的一種開源的數值計算擴展,這種工具可用來存儲和處理大型矩陣,比Python自身的列表結構要高效的多(該結構也可以用來表示二維數組(矩陣matrix)和多維數組),基本可替代matlab的矩陣運算。2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包1.常用數據處理包(3)包及其函數使用Python調用包的命令是import,如要調用上述的數值分析包,可用Inimportnumpy#將以numpy名調用函數numpy.array([1,2,3,4,5])#根據列表構建的一維數組要使用這些包中的函數,可直接使用包名加“.”。2.2Python數據處理方法第2章Python數據分析平臺如要簡化包的寫法,可用as命令賦予包的別名,如Inimportnumpyasnpa=np.array([1,2,3,4,5]);aOutarray([1,2,3,4,5])Inb=np.arange(5);b#數差序列,差距1Outarray([0,1,2,3,4])Inc=np.arange(1,5,0.5);c#等差數列,差距0.5Outarray([1.,1.5,2.,2.5,3.,3.5,4.,4.5])Ind=np.linspace(1,9,5);d#等距數列Outarray([1.,3.,5.,7.,9.])2.2Python數據處理方法第2章Python數據分析平臺numpy包中的函數調用Inimportnumpyasnp#將以np名調用函數np.log([1,2,3,4,5])也可以用別名方式直接調用包中具體函數。Infromnumpyimportlogasln#定義函數log的別名為lnln([1,2,3,4,5])2.2Python數據處理方法第2章Python數據分析平臺用astype()可以對numpy中的數據類型進行轉換,該命令也適用于下面的數據框序列。Inc.astype(int)#將數組c轉換為整型Outarray([1,1,2,2,3,3,4,4])Ina.astype(str)#將數組a轉換為字符型Outarray(['1','2','3','4','5'],dtype='<U11')2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包2.數據框及其構成數據框相當于關系數據庫中的結構化數據類型,傳統(tǒng)的數據大都以結構化數據存儲于關系數據庫中,因而Pyhton的數據分析主要是以數據框為基礎的。這里說的數據框可以看做結構化數據的一個Python實現,Python中數據框是用pandas包中的DataFrame()函數生成的。DataFrame()命令可用序列構成一個數據框。2.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包2.數據框及其構成(1)數據框生成Inimportpandasaspdpd.DataFrame()#生成空數據框Out—InfrompandasimportDataFrame#數據框的簡寫,本書采用的是該格式DataFrame()Out—2.2Python數據處理方法第2章Python數據分析平臺(2)根據列表創(chuàng)建數據框In珠三角=['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶'];珠三角Out['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶']InDataFrame(珠三角)Out00廣州1深圳2珠海3佛山4惠州5東莞6中山7江門8肇慶2.2Python數據處理方法第2章Python數據分析平臺相反,list()或.tolist()可將數據框的列數據轉換為列表。InCGDP=[2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74];CGDP#人均GDPOut[2.58,3.33,2.81,2.02,1.39,1.36,1.51,1.28,0.74]InDataFrame(data=CGDP,index=珠三角,columns=['CGDP'])OutCGDP廣州2.58深圳3.33珠海2.81佛山2.02惠州1.39東莞1.36中山1.51江門1.28肇慶0.742.2Python數據處理方法第2章Python數據分析平臺2.2.1Python數據處理包3.數據框的讀存(1)讀取Excel格式數據使用pandas包中的read_excel可直接讀取excel文檔中的任意表單數據,其讀取命比較簡單,例如,要讀取DAV_data.xlsx文檔的表單的[數據],可用以下命令,其中GD為數據框對象。2.2Python數據處理方法第2章Python數據分析平臺【Excel的基本操作】2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺許多情況下,數據框是按格式輸出的,都可用print將其按文本列表的形式輸出,但這時中文數據有可能會出現排版亂碼情況。2.2.1Python數據處理包3.數據框的讀存2.2Python數據處理方法第2章Python數據分析平臺(2)數據框數據的保存前面說過,Python管理數據集的最好方式是電子表格格式,pandas保存電子表格數據的命令也很簡單。2.2.1Python數據處理包3.數據框的讀存InGD.to_excel('myGD.xlsx’)#將數據框GD保存myGD.xlsx文檔中2.2Python數據處理方法第2章Python數據分析平臺前面已提到,pandas是基于numpy的一種數據分析包,該包是為了解決數據分析任務而創(chuàng)建的。pandas納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。你很快就會發(fā)現,它是使Python成為強大而高效的數據分析環(huán)境的重要因素之一。pandas顧名思義就是面板數據分析序列(paneldataanalysisserise),故pandas是數據處理和時序數據分析的首選包。2.2.2數據框的基本操作2.2Python數據處理方法第2章Python數據分析平臺InGD.info()#數據框信息Out<class'pandas.core.frame.DataFrame'>Int64Index:420entries,1to420Datacolumns(total8columns):#ColumnNon-NullCountDtype

0年份420non-nullint641地區(qū)420non-nullobject2GDP420non-nullfloat643人均GDP420non-nullfloat644從業(yè)人員420non-nullfloat645進出口額420non-nullfloat646消費總額420non-nullfloat647RD經費420non-nullfloat64dtypes:float64(6),int64(1),object(1)memoryusage:29.5+KB(1)數據框的基本信息2.2.1Python數據處理包1.數據框結構2.2Python數據處理方法第2章Python數據分析平臺(2)數據框的維度2.2.2數據框的基本操作1.數據框結構InGD.shape#數據框的行數和列數Out(420,8)InGD.shape[0]#數據框的行數Out420InGD.shape[1]#數據框的列數Out82.2Python數據處理方法第2章Python數據分析平臺(3)數據框的行列名2.2.2數據框的基本操作1.數據框結構InGD.index#數據框行名OutInt64Index([1,2,3,4,5,6,7,8,9,10,...416,417,418,419,420],dtype='int64',name='序號',length=420)InGD.columns#數據框列名OutIndex(['年份','地區(qū)','GDP','人均GDP','從業(yè)人員','進出口額','消費總額','RD經費'],dtype='object')2.2Python數據處理方法第2章Python數據分析平臺(1)函數法2.2.2數據框的基本操作2.數據框顯示2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺(2)全局設置法2.2.2數據框的基本操作2.數據框顯示In#pd.set_option('display.max_rows',None)#顯示所有數據行pd.set_option('display.max_rows',10)#共顯示10行數據2.2Python數據處理方法第2章Python數據分析平臺選取數據框中列變量的方法主要是“.”法或[‘’],這是Python中最直觀的選擇變量的方法,比如,要選取數據框GD中的“年份”和“地區(qū)”變量,直接用GD.年份與GD.地區(qū)即可,也可用GD[‘年份’]與GD[‘地區(qū)’],該方法書寫比

“.”法煩瑣,但卻是最不容易出錯且直觀的一種方法,且可推廣到多個變量的情形。2.2.2數據框的基本操作3.選取列變量2.2Python數據處理方法第2章Python數據分析平臺(1)選取一列(單變量)2.2Python數據處理方法第2章Python數據分析平臺(2)選取多列(多變量)2.2Python數據處理方法第2章Python數據分析平臺(1)橫向數據2.2.2數據框的基本操作4.選取行數據2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺2.2.2數據框的基本操作4.選取行數據(1)橫向數據【Excel的基本操作】Excel提供了多種數據篩選的方法,本節(jié)將介紹自動篩選,自動篩選適用于對數據進行簡單的條件篩選,篩選時將不滿足條件的數據暫時隱藏起來,只顯示符合條件的數據,是一種最簡單的數據篩選方式。2.2Python數據處理方法第2章Python數據分析平臺2.2.2數據框的基本操作4.選取行數據【Excel的基本操作】1)選中數據清單中的任一數據單元格,切換到“數據”選項卡,在“排序和篩選”組中單擊“篩選”,這時,數據清單中的每列的標志旁邊都會出現一個下拉箭頭。如下圖所示。2)點擊“年份”會出現篩選框,選取或輸入2019將篩選2019年的數據。2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺(2)縱向數據2.2Python數據處理方法第2章Python數據分析平臺(3)面板數據2.2Python數據處理方法第2章Python數據分析平臺同上,點擊“地區(qū)”會出現篩選框,選取相關地區(qū)將篩選相應地區(qū)的數據。2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視1.合并數據框首先構建兩個用于重塑的數據框df1和df2。2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺(1)數據框的追加append2.2Python數據處理方法第2章Python數據分析平臺(2)數據框的合并merge2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視2.數據框的重構Python數據分析包pandas的數據框可以看做矩陣的一種推廣,具有一般關系型數據庫數據結構的一些特點,如刪除數據框列與行,設置數據框索引(行名)等,本文下面的數據分析和可視化基本都是基于數據框的。2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺(1)增加列2.2Python數據處理方法第2章Python數據分析平臺(2)刪除列axis=0時表示刪除行,如df.drop([1,4],axis=0)即為刪除1和4行。2.2Python數據處理方法第2章Python數據分析平臺(3)數據框的索引DataFrame可以通過set_index方法設置某一列變量為行索引,使用reset_index還原行索引為列變量。2.2Python數據處理方法第2章Python數據分析平臺(3)數據框的索引應用reset_index函數可以還原行索引,即將上面的地區(qū)行索引還原為第二列變量。2.2Python數據處理方法第2章Python數據分析平臺(4)數據框的排序2.2Python數據處理方法第2章Python數據分析平臺(4)數據框的排序2.2Python數據處理方法第2章Python數據分析平臺(4)數據框的排序2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視3.數據框的透視pandas有一個數據透視函數pivot(),可以生成任意維度透視表,可以實現Excel等電子表格的透視表功能。但這里的透視函數pivot主要用于數據的重構,并沒有統(tǒng)計計算功能,要做數據的透視分析,參見4.1節(jié)的透視表函數pivot_table。pivot有三個重要的參數index(行)、columns(列)、values(值),如果不改變函數中的參數順序的話,可以不寫參數名,只寫變量名。2.2Python數據處理方法第2章Python數據分析平臺(1)無篩選透視表2.2Python數據處理方法第2章Python數據分析平臺(1)無篩選透視表2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視3.數據框的透視(1)無篩選透視表【Excel的基本操作】1)選擇數據清單中的任意一個單元格,單擊“插入”選項卡,單擊“數據透視表”下拉按鈕,執(zhí)行“數據透視表”命令,將彈出如下圖所示的“創(chuàng)建數據透視表”對話框。2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視3.數據框的透視(1)無篩選透視表【Excel的基本操作】2)在“請選擇要分析的數據”選區(qū)中,默認已經選定了前面所選單元格所在的數據區(qū)域,也可以重新選擇數據區(qū)域,單擊右邊的折疊按鈕,選擇完數據區(qū)域后單擊展開按鈕即可。在“選擇放置數據透視表的位置”選區(qū)中,可以選擇在新工作表中或者現有工作表中放置數據透視表,這里選擇“新工作表”,然后單擊“確定”按鈕。2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視3.數據框的透視(1)無篩選透視表【Excel的基本操作】3)單擊確定后,在新工作表的右邊將出現“數據透視表字段列表”框。在字段復選框中選中“年份”、“地區(qū)”和“人均GDP”三項,其中“人均GDP”作為求和項、“地區(qū)”作為行標簽、“年份”作為列標簽,可拖動該字段到列標簽區(qū)域內即可。在“數據透視表字段列表”框中設置的同時,數據透視表會即時顯示相應的結果。如下圖所示。2.2Python數據處理方法第2章Python數據分析平臺2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視3.數據框的透視(2)有篩選透視表2.2Python數據處理方法第2章Python數據分析平臺(2)有篩選透視表2.2Python數據處理方法第2章Python數據分析平臺(2)有篩選透視表2.2Python數據處理方法第2章Python數據分析平臺2.2.3數據框的重組與透視3.數據框的透視(2)有篩選透視表【Excel的基本操作】在字段復選框中選中“年份”、“地區(qū)”和“GDP、消費總額”三項,其中“GDP、消費總額”作為求和項、“年份”作為行標簽、“地區(qū)”作為列標簽,如下圖所示。2.2Python數據處理方法第2章Python數據分析平臺第2章Python數據分析平臺第3章數據的基本可視化方法3.1基于列表的可視化3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖

2.縱向數據的繪圖

3.1.2Matplotlib的圖形設置1.圖形大小設置2.標題、標簽及顏色3.線型和符號3.1基于列表的可視化matplotlib

是Python的基本繪圖包,是一個Python的圖形框架。它是Python最著名的繪圖庫,提供了一整套和Matlab

相似的命令API,十分適合交互式地進行制圖。在繪制中文圖形時,須作一些基本設置。3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖3.1基于列表的可視化3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖(1)條圖(bar)條圖又稱條形圖或柱形圖,是以寬度相等的條形高度或長度的差異來顯示統(tǒng)計指標數值多少或大小的一種圖形。條圖的高度可以是頻數或頻率,圖的形狀看起來是一樣的,但是刻度不一樣。matplotlib畫條形圖的命令是bar()。3.1基于列表的可視化3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖(1)條圖(bar)3.1基于列表的可視化3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖(1)條圖(bar)3.1基于列表的可視化3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖(1)條圖(bar)【Excel的基本操作】篩選2015年珠三角數據,選擇C317:C337和E317:E337單元格區(qū)域,切換到“插入”選項卡,在“圖表”組中單擊“柱形圖”按鈕,在子圖表類型中,選擇二維柱形圖,即可生成如下圖。其他統(tǒng)計圖的Excel繪制基本一致,所以下面從略。3.1基于列表的可視化(1)條圖(bar)【Excel的基本操作】3.1基于列表的可視化3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖(2)餅圖(pie)餅圖也稱圓圖,是由一個圓或多個扇形組成,每個扇形顯示不同顏色。每個扇形的角度大小可顯示一個數據系列中各項的大小與各項總和的比例。在matplotlib中作餅圖也很簡單,只要使用命令pie()就可以了。3.1基于列表的可視化3.1.1Matplotlib的基本繪圖1.橫向數據的繪圖(2)餅圖(pie)3.1基于列表的可視化3.1.1Matplotlib的基本繪圖2.縱向數據的繪圖3.1基于列表的可視化3.1.1Matplotlib的基本繪圖2.縱向數據的繪圖(1)線圖(line)3.1基于列表的可視化3.1.1Matplotlib的基本繪圖2.縱向數據的繪圖(2)點線圖(point-line)3.1基于列表的可視化(2)點線圖(point-line)【Excel的基本操作】篩選佛山數據,選擇B列和D列數據,切換到“插入”選項卡,在“圖表”組中單擊“折線圖”按鈕,在子圖表類型中,選擇二維折線圖,即可生成如下圖。3.1基于列表的可視化(2)點線圖(point-line)【Excel的基本操作】3.1基于列表的可視化3.1.1Matplotlib的基本繪圖2.縱向數據的繪圖(3)面積(stackplot)3.1基于列表的可視化3.1.2Matplotlib的圖形設置3.1基于列表的可視化Python中的每一個繪圖函數,都有許多參數設置選項,但大多數繪圖函數的選項是同樣的,matplotlib的繪圖函數非常強大,包含許多圖形參數設置,可以通過幫助學習。3.1.2Matplotlib的圖形設置1.圖形大小設置用參數figsize

可設定圖形大小。3.1基于列表的可視化3.1.2Matplotlib的圖形設置1.圖形大小設置3.1基于列表的可視化3.1.2Matplotlib的圖形設置2.標題、標簽及顏色plt.title:設置圖形標題和字體大?。籶lt.xlabel、plt.ylabel:設置坐標軸名稱;plt.xlim、plt.ylim:設置橫縱坐標軸范圍;colors:控制圖形的顏色,c='red':設置為紅色。3.1基于列表的可視化3.1.2Matplotlib的圖形設置2.標題、標簽及顏色3.1基于列表的可視化3.1.2Matplotlib的圖形設置3.線型和符號控制連線的線型:'-'實線,'-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論