第2章-Python數(shù)據(jù)分析平臺(tái)_第1頁(yè)
第2章-Python數(shù)據(jù)分析平臺(tái)_第2頁(yè)
第2章-Python數(shù)據(jù)分析平臺(tái)_第3頁(yè)
第2章-Python數(shù)據(jù)分析平臺(tái)_第4頁(yè)
第2章-Python數(shù)據(jù)分析平臺(tái)_第5頁(yè)
已閱讀5頁(yè),還剩106頁(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)介

第2章Python數(shù)據(jù)分析平臺(tái)2.1Python數(shù)據(jù)處理基礎(chǔ)第2章Python數(shù)據(jù)分析平臺(tái)2.1.1Python的編程環(huán)境1.Python基礎(chǔ)編程環(huán)境

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

3.Jupyter項(xiàng)目及其應(yīng)用2.1.2Python的編程基礎(chǔ)1.Python的工作目錄2.Python基本數(shù)據(jù)類型3.Python擴(kuò)展數(shù)據(jù)類型2.1.3Python的函數(shù)定義1.函數(shù)的定義與調(diào)用

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

2.數(shù)據(jù)框及其構(gòu)成

3.數(shù)據(jù)框的讀存2.2.2數(shù)據(jù)框的基本操作1.數(shù)據(jù)框結(jié)構(gòu)2.數(shù)據(jù)框顯示3.選取列變量4.選取行數(shù)據(jù)2.2.3數(shù)據(jù)框的重組與透視1.合并數(shù)據(jù)框

2.數(shù)據(jù)框的重構(gòu)3.數(shù)據(jù)框的透視2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包1.常用數(shù)據(jù)處理包Python具有豐富的數(shù)據(jù)分析模塊,大多數(shù)做數(shù)據(jù)分析的人使用Python是因?yàn)槠鋸?qiáng)大的數(shù)據(jù)分析功能。所有的Python函數(shù)和數(shù)據(jù)集是保存在包(庫(kù))里面的。只有當(dāng)一個(gè)包被安裝并被載入時(shí),它的內(nèi)容才可以被訪問(wèn)。這樣做一是為了高效(所有的方法加載會(huì)耗費(fèi)大量的內(nèi)存并且增加搜索的時(shí)間);二是為了幫助包的開發(fā)者,防止命名和其他代碼中的名稱沖突。2.2Python數(shù)據(jù)處理方法包名說(shuō)明主要功能numpy數(shù)值計(jì)算包numpy(NumericPython)是Python的一種開源的數(shù)值計(jì)算擴(kuò)展,以實(shí)現(xiàn)科學(xué)的計(jì)算。它提供了許多高級(jí)的數(shù)值計(jì)算工具,如矩陣數(shù)據(jù)類型、線性代數(shù)的運(yùn)算庫(kù)。專為進(jìn)行嚴(yán)格的數(shù)值運(yùn)算而產(chǎn)生,具有Matlab的大部分?jǐn)?shù)值計(jì)算功能。pandas數(shù)據(jù)操作包提供類似于R語(yǔ)言的DataFrame操作,非常方便。pandas是面板數(shù)據(jù)(PanelData)分析的簡(jiǎn)寫。它是Python最強(qiáng)大的數(shù)據(jù)分析和探索工具,因金融數(shù)據(jù)分析而開發(fā),支持類似SQL的數(shù)據(jù)增刪改查,支持時(shí)間序列分析,靈活處理缺失數(shù)據(jù)。matplotlib基本繪圖包該包主要用于繪圖和繪表,是一個(gè)強(qiáng)大的數(shù)據(jù)可視化工具,語(yǔ)法類似Matlab,是Python的基本繪圖框架,提供了一整套和Matlab相似的命令A(yù)PI,十分適合基本數(shù)據(jù)分析制圖。第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法包名說(shuō)明主要功能cufflinks動(dòng)態(tài)繪圖包c(diǎn)ufflinks是一個(gè)可視化的庫(kù),可以無(wú)縫銜接pandas和plotly。cufflinks在plotly的基礎(chǔ)上做了一進(jìn)一步的包裝,方法統(tǒng)一,參數(shù)配置簡(jiǎn)單,可以結(jié)合pandas的DataFrame靈活地畫很多動(dòng)態(tài)圖。scipy科學(xué)計(jì)算包提供了很多科學(xué)計(jì)算工具和算法,方便易于使用,專為科學(xué)和工程設(shè)計(jì)的Python工具包。它包括統(tǒng)計(jì)、優(yōu)化、整合、線性代數(shù)模塊、傅里葉變換、信號(hào)和圖像處理、常微分方程求解器等,包含常用的統(tǒng)計(jì)估計(jì)和檢驗(yàn)方法statsmodels統(tǒng)計(jì)模型包statsmodel可以補(bǔ)充scipy.stats,是一個(gè)包含統(tǒng)計(jì)模型、統(tǒng)計(jì)測(cè)試和統(tǒng)計(jì)數(shù)據(jù)挖掘的Python模塊。對(duì)每一個(gè)模型都會(huì)生成一個(gè)對(duì)應(yīng)的統(tǒng)計(jì)結(jié)果,對(duì)時(shí)間序列有完美支持第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包1.常用數(shù)據(jù)處理包注意:安裝程序包和調(diào)用程序包是兩個(gè)概念,安裝程序包是指將需要的程序包安裝到電腦中,調(diào)用包是指將程序包調(diào)入Python環(huán)境中。如numpy、matplotlib、pandas、scipy和statsmodels這些常用的數(shù)據(jù)分析包Anaconda已自動(dòng)安裝了,而cufflinks包需要我們手動(dòng)安裝。有兩種方式:2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包1.常用數(shù)據(jù)處理包(1)命令行安裝:在AnacondaPrompt的命令行安裝>pipinstallcufflinks(2)平臺(tái)里安裝:在JupyterNotebook或JupyterLab中安裝2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)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數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包1.常用數(shù)據(jù)處理包(3)包及其函數(shù)使用下面以numpy為例介紹Python中已安裝的包及其函數(shù)的使用。numpy是Python的一種開源的數(shù)值計(jì)算擴(kuò)展,這種工具可用來(lái)存儲(chǔ)和處理大型矩陣,比Python自身的列表結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來(lái)表示二維數(shù)組(矩陣matrix)和多維數(shù)組),基本可替代matlab的矩陣運(yùn)算。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包1.常用數(shù)據(jù)處理包(3)包及其函數(shù)使用Python調(diào)用包的命令是import,如要調(diào)用上述的數(shù)值分析包,可用Inimportnumpy#將以numpy名調(diào)用函數(shù)numpy.array([1,2,3,4,5])#根據(jù)列表構(gòu)建的一維數(shù)組要使用這些包中的函數(shù),可直接使用包名加“.”。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)如要簡(jiǎn)化包的寫法,可用as命令賦予包的別名,如Inimportnumpyasnpa=np.array([1,2,3,4,5]);aOutarray([1,2,3,4,5])Inb=np.arange(5);b#數(shù)差序列,差距1Outarray([0,1,2,3,4])Inc=np.arange(1,5,0.5);c#等差數(shù)列,差距0.5Outarray([1.,1.5,2.,2.5,3.,3.5,4.,4.5])Ind=np.linspace(1,9,5);d#等距數(shù)列Outarray([1.,3.,5.,7.,9.])2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)numpy包中的函數(shù)調(diào)用Inimportnumpyasnp#將以np名調(diào)用函數(shù)np.log([1,2,3,4,5])也可以用別名方式直接調(diào)用包中具體函數(shù)。Infromnumpyimportlogasln#定義函數(shù)log的別名為lnln([1,2,3,4,5])2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)用astype()可以對(duì)numpy中的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,該命令也適用于下面的數(shù)據(jù)框序列。Inc.astype(int)#將數(shù)組c轉(zhuǎn)換為整型Outarray([1,1,2,2,3,3,4,4])Ina.astype(str)#將數(shù)組a轉(zhuǎn)換為字符型Outarray(['1','2','3','4','5'],dtype='<U11')2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包2.數(shù)據(jù)框及其構(gòu)成數(shù)據(jù)框相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化數(shù)據(jù)類型,傳統(tǒng)的數(shù)據(jù)大都以結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)于關(guān)系數(shù)據(jù)庫(kù)中,因而Pyhton的數(shù)據(jù)分析主要是以數(shù)據(jù)框?yàn)榛A(chǔ)的。這里說(shuō)的數(shù)據(jù)框可以看做結(jié)構(gòu)化數(shù)據(jù)的一個(gè)Python實(shí)現(xiàn),Python中數(shù)據(jù)框是用pandas包中的DataFrame()函數(shù)生成的。DataFrame()命令可用序列構(gòu)成一個(gè)數(shù)據(jù)框。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包2.數(shù)據(jù)框及其構(gòu)成(1)數(shù)據(jù)框生成Inimportpandasaspdpd.DataFrame()#生成空數(shù)據(jù)框Out—InfrompandasimportDataFrame#數(shù)據(jù)框的簡(jiǎn)寫,本書采用的是該格式DataFrame()Out—2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(2)根據(jù)列表創(chuàng)建數(shù)據(jù)框In珠三角=['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶'];珠三角Out['廣州','深圳','珠海','佛山','惠州','東莞','中山','江門','肇慶']InDataFrame(珠三角)Out00廣州1深圳2珠海3佛山4惠州5東莞6中山7江門8肇慶2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)相反,list()或.tolist()可將數(shù)據(jù)框的列數(shù)據(jù)轉(zhuǎn)換為列表。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數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.1Python數(shù)據(jù)處理包3.數(shù)據(jù)框的讀存(1)讀取Excel格式數(shù)據(jù)使用pandas包中的read_excel可直接讀取excel文檔中的任意表單數(shù)據(jù),其讀取命比較簡(jiǎn)單,例如,要讀取DAV_data.xlsx文檔的表單的[數(shù)據(jù)],可用以下命令,其中GD為數(shù)據(jù)框?qū)ο蟆?.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)【Excel的基本操作】2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)許多情況下,數(shù)據(jù)框是按格式輸出的,都可用print將其按文本列表的形式輸出,但這時(shí)中文數(shù)據(jù)有可能會(huì)出現(xiàn)排版亂碼情況。2.2.1Python數(shù)據(jù)處理包3.數(shù)據(jù)框的讀存2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(2)數(shù)據(jù)框數(shù)據(jù)的保存前面說(shuō)過(guò),Python管理數(shù)據(jù)集的最好方式是電子表格格式,pandas保存電子表格數(shù)據(jù)的命令也很簡(jiǎn)單。2.2.1Python數(shù)據(jù)處理包3.數(shù)據(jù)框的讀存InGD.to_excel('myGD.xlsx’)#將數(shù)據(jù)框GD保存myGD.xlsx文檔中2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)前面已提到,pandas是基于numpy的一種數(shù)據(jù)分析包,該包是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。pandas納入了大量庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。你很快就會(huì)發(fā)現(xiàn),它是使Python成為強(qiáng)大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。pandas顧名思義就是面板數(shù)據(jù)分析序列(paneldataanalysisserise),故pandas是數(shù)據(jù)處理和時(shí)序數(shù)據(jù)分析的首選包。2.2.2數(shù)據(jù)框的基本操作2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)InGD.info()#數(shù)據(jù)框信息Out<class'pandas.core.frame.DataFrame'>Int64Index:420entries,1to420Datacolumns(total8columns):#ColumnNon-NullCountDtype----------------------------0年份420non-nullint641地區(qū)420non-nullobject2GDP420non-nullfloat643人均GDP420non-nullfloat644從業(yè)人員420non-nullfloat645進(jìn)出口額420non-nullfloat646消費(fèi)總額420non-nullfloat647RD經(jīng)費(fèi)420non-nullfloat64dtypes:float64(6),int64(1),object(1)memoryusage:29.5+KB(1)數(shù)據(jù)框的基本信息2.2.1Python數(shù)據(jù)處理包1.數(shù)據(jù)框結(jié)構(gòu)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(2)數(shù)據(jù)框的維度2.2.2數(shù)據(jù)框的基本操作1.數(shù)據(jù)框結(jié)構(gòu)InGD.shape#數(shù)據(jù)框的行數(shù)和列數(shù)Out(420,8)InGD.shape[0]#數(shù)據(jù)框的行數(shù)Out420InGD.shape[1]#數(shù)據(jù)框的列數(shù)Out82.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(3)數(shù)據(jù)框的行列名2.2.2數(shù)據(jù)框的基本操作1.數(shù)據(jù)框結(jié)構(gòu)InGD.index#數(shù)據(jù)框行名OutInt64Index([1,2,3,4,5,6,7,8,9,10,...416,417,418,419,420],dtype='int64',name='序號(hào)',length=420)InGD.columns#數(shù)據(jù)框列名OutIndex(['年份','地區(qū)','GDP','人均GDP','從業(yè)人員','進(jìn)出口額','消費(fèi)總額','RD經(jīng)費(fèi)'],dtype='object')2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(1)函數(shù)法2.2.2數(shù)據(jù)框的基本操作2.數(shù)據(jù)框顯示2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(2)全局設(shè)置法2.2.2數(shù)據(jù)框的基本操作2.數(shù)據(jù)框顯示In#pd.set_option('display.max_rows',None)#顯示所有數(shù)據(jù)行pd.set_option('display.max_rows',10)#共顯示10行數(shù)據(jù)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)選取數(shù)據(jù)框中列變量的方法主要是“.”法或[‘’],這是Python中最直觀的選擇變量的方法,比如,要選取數(shù)據(jù)框GD中的“年份”和“地區(qū)”變量,直接用GD.年份與GD.地區(qū)即可,也可用GD[‘年份’]與GD[‘地區(qū)’],該方法書寫比

“.”法煩瑣,但卻是最不容易出錯(cuò)且直觀的一種方法,且可推廣到多個(gè)變量的情形。2.2.2數(shù)據(jù)框的基本操作3.選取列變量2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(1)選取一列(單變量)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(2)選取多列(多變量)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(1)橫向數(shù)據(jù)2.2.2數(shù)據(jù)框的基本操作4.選取行數(shù)據(jù)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.2數(shù)據(jù)框的基本操作4.選取行數(shù)據(jù)(1)橫向數(shù)據(jù)【Excel的基本操作】Excel提供了多種數(shù)據(jù)篩選的方法,本節(jié)將介紹自動(dòng)篩選,自動(dòng)篩選適用于對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的條件篩選,篩選時(shí)將不滿足條件的數(shù)據(jù)暫時(shí)隱藏起來(lái),只顯示符合條件的數(shù)據(jù),是一種最簡(jiǎn)單的數(shù)據(jù)篩選方式。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.2數(shù)據(jù)框的基本操作4.選取行數(shù)據(jù)【Excel的基本操作】1)選中數(shù)據(jù)清單中的任一數(shù)據(jù)單元格,切換到“數(shù)據(jù)”選項(xiàng)卡,在“排序和篩選”組中單擊“篩選”,這時(shí),數(shù)據(jù)清單中的每列的標(biāo)志旁邊都會(huì)出現(xiàn)一個(gè)下拉箭頭。如下圖所示。2)點(diǎn)擊“年份”會(huì)出現(xiàn)篩選框,選取或輸入2019將篩選2019年的數(shù)據(jù)。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(2)縱向數(shù)據(jù)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(3)面板數(shù)據(jù)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)同上,點(diǎn)擊“地區(qū)”會(huì)出現(xiàn)篩選框,選取相關(guān)地區(qū)將篩選相應(yīng)地區(qū)的數(shù)據(jù)。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.3數(shù)據(jù)框的重組與透視1.合并數(shù)據(jù)框首先構(gòu)建兩個(gè)用于重塑的數(shù)據(jù)框df1和df2。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(1)數(shù)據(jù)框的追加append2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(2)數(shù)據(jù)框的合并merge2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2.3數(shù)據(jù)框的重組與透視2.數(shù)據(jù)框的重構(gòu)Python數(shù)據(jù)分析包pandas的數(shù)據(jù)框可以看做矩陣的一種推廣,具有一般關(guān)系型數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)的一些特點(diǎn),如刪除數(shù)據(jù)框列與行,設(shè)置數(shù)據(jù)框索引(行名)等,本文下面的數(shù)據(jù)分析和可視化基本都是基于數(shù)據(jù)框的。2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)2.2Python數(shù)據(jù)處理方法第2章Python數(shù)據(jù)分析平臺(tái)(1)增加列2.2

溫馨提示

  • 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)論