《統(tǒng)計學-基于Python》 課件全套 第1-11章 數(shù)據與Python語言-時間序列分析和預測_第1頁
《統(tǒng)計學-基于Python》 課件全套 第1-11章 數(shù)據與Python語言-時間序列分析和預測_第2頁
《統(tǒng)計學-基于Python》 課件全套 第1-11章 數(shù)據與Python語言-時間序列分析和預測_第3頁
《統(tǒng)計學-基于Python》 課件全套 第1-11章 數(shù)據與Python語言-時間序列分析和預測_第4頁
《統(tǒng)計學-基于Python》 課件全套 第1-11章 數(shù)據與Python語言-時間序列分析和預測_第5頁
已閱讀5頁,還剩308頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

StatisticswithPython

統(tǒng)計學

基于Python

課程內容描述統(tǒng)計、推斷統(tǒng)計、其他方法使用軟件

Python

語言學分與課時3學分,1~17周,每周3課時課程簡介賈俊平2023/12/191.1數(shù)據與統(tǒng)計學1.2Python的初步使用第1章數(shù)據與Python語言

統(tǒng)計學(statistics)

分析數(shù)據的一門科學,它所提供的是一套通用于所有學科領域的獲取數(shù)據、處理數(shù)據、分析數(shù)據并從數(shù)據中得出結論的原則和方法統(tǒng)計學是一套通用的數(shù)據分析方法,雖然這些方法可用于不同學科領域數(shù)據的分析,但它不是為某個特定的問題領域構造的統(tǒng)計方法不是一成不變的,使用者在特定情況下需要根據所掌握的專業(yè)知識選擇使用這些方法,如果需要,還可以進行必要的修正什么是統(tǒng)計學

1.1

數(shù)據與統(tǒng)計學數(shù)據分析(dataanalysis)

運用統(tǒng)計方法對收集來的數(shù)據進行分析,從中提取有用信息并得出結論的過程數(shù)據分析的目的是把隱藏在數(shù)據中的信息有效地提煉出來,從而找出所研究對象的內在規(guī)律和特征在實際應用中,數(shù)據分析可幫助人們做出判斷和決策,以便采取適當行動什么是數(shù)據分析

1.1

數(shù)據與統(tǒng)計學統(tǒng)計學提供的就是一套數(shù)據分析方法數(shù)據分析所用的方法就是統(tǒng)計方法數(shù)據分析方法——基本分類

1.1

數(shù)據與統(tǒng)計學從分析目的看

可以將數(shù)據分析分為描述性分析(descriptiveanalysis)、探索性分析(exploratoryanalysis)和驗證性分析(confirmatoryanalysis)三大類描述性分析和是對數(shù)據進行初步的整理、展視和概括性度量,以找出數(shù)據的基本特征;探索性分析側重于在數(shù)據之中發(fā)現(xiàn)新的特征,為形成某種理論或假設而對數(shù)據進行的分析;驗證性分析則側重于對已有理論或假設的證實或證偽從所使用的統(tǒng)計分析方法看可大致可分為描述統(tǒng)計(descriptivestatistics)和推斷統(tǒng)計(inferentialstatistics)兩大類描述統(tǒng)計是利用圖表形式對數(shù)據進行匯總和展示,計算一些簡單的統(tǒng)計量推斷統(tǒng)計是根據樣本信息來推斷總體的特征,內容包括參數(shù)估計和假設檢驗數(shù)據分析方法從分析目的看描述性分析探索性分析驗證性分析從統(tǒng)計方法看描述統(tǒng)計推斷統(tǒng)計商業(yè)軟件——不推薦使用

商業(yè)類軟件種類繁多,較有代表性的軟件有SAS、SPSS、Minitab、Stata等。多數(shù)人較熟悉的Excel雖然不是統(tǒng)計軟件,但提供了一些常用的統(tǒng)計函數(shù)以及數(shù)據分析工具這類軟件雖有不同的側重點,但功能大同小異,基本上能滿足大多數(shù)人做數(shù)據分析的需要。商業(yè)類軟件使用相對簡單,容易上手主要問題是價格不菲,多數(shù)人難以接近,此外,更新速度慢,難以提供最新方法的解決方案數(shù)據分析工具

1.1

數(shù)據與統(tǒng)計學非商業(yè)軟件——推薦使用

非商業(yè)類軟件則不存在價格問題。目前較為流行的軟件有R語言和Python語言,二者都是免費的開源平臺R語言的一種優(yōu)秀的統(tǒng)計軟件,它是一種統(tǒng)計計算語言。優(yōu)點:更新速度快,可以包含最新方法的解決方案;提供豐富的數(shù)據分析和可視化技術,功能十分強大。R軟件中的包(package)和函數(shù)均由統(tǒng)計專家編寫,函數(shù)中參數(shù)的設置也更符合統(tǒng)計和數(shù)據分析人員的思維方式和邏輯,并有強大的幫助功能和多種范例,初學者也很容易上手Python則是一種面向對象的解釋型高級編程語言,并擁有豐富而強大的開源第三方庫,也具有強大的數(shù)據分析可視化功能。Python于R的側重點略有不同,R的主要功能是數(shù)據分析和可視化,且功能強大,多數(shù)分析都可以由R提供的函數(shù)實現(xiàn),不需要太多的編程,代碼簡單,容易上手。Python的側重點則是編程,具有很好的普適性,但數(shù)據分析并不是其側重點,雖然從理論上說都可以實現(xiàn),但往往需要編寫很長的代碼,幫助功能也不夠強大,這對數(shù)據分析的初學者來說可能顯得麻煩,但仍然不失為一種有效的數(shù)據分析工具數(shù)據分析工具

1.1

數(shù)據與統(tǒng)計學數(shù)據及其來源——變量和數(shù)據

1.1

數(shù)據與統(tǒng)計學數(shù)據(data)變量的觀測結果數(shù)據是個廣義的概念,任何可觀測并有記錄的信息都可以稱為數(shù)據,它不僅僅包括數(shù)字,也包括文本、圖像等。比如,一篇文章也可以看作數(shù)據,一幅照片也可以視為數(shù)據,等等變量(variable)描述所觀察對象某種特征的概念,其特點是從一次觀察到下一次觀察可能會出現(xiàn)不同結果觀察一個企業(yè)的銷售額,這個月和上個月不同;觀察股票市場上漲股票的家數(shù),今天與昨天數(shù)量不一樣;觀察一個班學生的生活費支出,一個人和另一個人不一樣;投擲一枚骰子觀察其出現(xiàn)的點數(shù),這次投擲的結果和下一次也不一樣“企業(yè)銷售額”、“上漲股票的家數(shù)”、“生活費支出”、“投擲一枚骰子出現(xiàn)的點數(shù)”等就是變量數(shù)據及其來源——變量和數(shù)據的分類

1.1

數(shù)據與統(tǒng)計學類別變量(categoricalvariable)取值為對象屬性或類別以及區(qū)間值(intervalvalue)的變量,也稱分類變量(classifiedvariable)或定性變量(qualitativevariable)可分為無序類別變量(disorderedcategoryvariable)和有序類別變量(orderedcategoryvariable)兩種無序類別變量也稱名義(nominal)值變量,其取值的各類別間是不可以排序的有序類別變量也稱順序(ordinal)值變量,其取值的各類別間可以排序只取兩個值的類別變量也稱為布爾變量(booleanvariable)或二值變量(binaryvariable類別變量(categoricalvariable)數(shù)值變量(metricvariable)是取值為數(shù)字的變量,也稱為定量變量(quantitativevariable)可以分為離散變量(discretevariable)和連續(xù)變量(continuousvariable)離散變量的取值是只能取有限個值的變量,而且其取值可以列舉,通常(但不一定)是整數(shù)連續(xù)變量是可以在一個或多個區(qū)間中取任何值的變量,它的取值是連續(xù)不斷的數(shù)據及其來源——變量和數(shù)據的分類

1.1

數(shù)據與統(tǒng)計學數(shù)據是變量的觀測結果,因此,數(shù)據的分類與變量的分類是相同的本書混合使用變量和數(shù)據這兩個概念在講述分析方法時多使用變量的概念,在例題分析中多使用數(shù)據的概念了解變量或數(shù)據的分類十分必要,因為不同的變量或數(shù)據適用的分析方法是不同的變量分類類別變量(定性)無序類別變量(名義值)有序類別變量(順序值)布爾變量(二值)數(shù)值變量(定量)離散變量(離散值)連續(xù)變量(連續(xù)值)時間變量(定性或定量)定性:離散值定量:連續(xù)值間接來源——二手數(shù)據直接來源——抽取樣本總體(population):包含所研究的全部個體(或數(shù)據)的集合樣本(sample):從總體中抽取的一部分元素的集合樣本量(samplesize):構成樣本的元素的數(shù)目概率抽樣方法根據已知的概率抽取樣本元素,也稱隨機抽樣數(shù)據及其來源——數(shù)據來源和抽樣方法簡單隨機抽樣從總體N個單位(元素)中隨機地抽取n個單位作為樣本,使得總體中每一個元素都有相同的機會(概率)被抽中抽取元素的具體方法有放回抽樣和無放回抽樣分層抽樣將總體單位按某種特征或規(guī)則劃分為不同層,再從不同的層中隨機地抽取樣本系統(tǒng)抽樣將總體中的所有單位(抽樣單位)按一定順序排列,在規(guī)定的范圍內隨機地抽取一個單位作為初始單位,然后按事先規(guī)定好的規(guī)則確定其他樣本元素整群抽樣將總體中若干個單位合并為組(群),抽樣時直接抽取群,再對中選群中的所有單位全部實施調查

1.1

數(shù)據與統(tǒng)計學Python

Python是一種面向對象的解釋型高級編程語言簡單易學、免費、擁有豐富而強大的開源第三方庫被廣泛應用于系統(tǒng)和網絡編程、數(shù)據處理、云計算、機器學習和人工智能等多個領域已成為目前廣泛使用的編程語言之

Python與Anaconda

1.2

Python的初步使用Anaconda

Anaconda是一種適合數(shù)據分析的Python開發(fā)環(huán)境,也是一個開源是Python版本Anaconda包含了多個基本模塊,如numpy,pandas,matplotlib,IPython等,安裝Anaconda時,這些模塊也就一并安裝好了Anaconda還內置了JupyterNotebook開發(fā)環(huán)境,十分方便代碼的編寫和修改本書代碼編寫和運行使用的就是Anaconda平臺的JupyterNotebook界面,推薦初學者使用Anaconda的下載與安裝進入官網(),點擊右上角“GetStarted”選擇Anaconda個人版選項,并單擊在彈出的頁面中選擇自己的電腦系統(tǒng),如果是Windows系統(tǒng),需要選擇電腦系統(tǒng)的位數(shù),比如64位,即可以下載

Anaconda的下載與安裝

1.2

Python的初步使用Anaconda界面有幾種不同的界面可供使用,如JupyterNotebook,Spyder,Ipython等,可根據自身偏好選擇JupyterNotebook是一個交互式編輯器,它是以網頁的形式打開程序,可以在線或非在線編寫代碼和運行代碼,代碼的運行結果可以直接在代碼塊下顯示,對使用者這而言比較直觀,易于代碼的編寫和修改JupyterNotebook還可以使用Markdown和HTML來創(chuàng)建包含代碼塊和標題或注釋的文檔,便于代碼塊的區(qū)分本書代碼編寫和運行均使用JupyterNotebook

Anaconda——創(chuàng)建JupyterNotebook文件創(chuàng)建JupyterNotebook文件打開JupyterNotebook,點擊右上角的New按鈕,選擇Python3,即可以創(chuàng)建一個Python文件在JupyterNoteboo中編寫代碼在in[]后的代碼框(稱為“cell”)中可輸入代碼。點擊“運行”按鈕或使用組合鍵<Ctri+Enter>,即可運行該代碼,運行結果會在代碼塊的下面顯示,其中out[]內的數(shù)字表示代碼塊的第幾次運行輸出要增加新的代碼編輯框,可以點擊“+”在下方增加代碼編輯框,點擊“Insert”,可以在上方或下方增加代碼編輯框,即可繼續(xù)編寫代碼

1.2

Python的初步使用保存JupyterNotebook文件要保存編寫的代碼,常用的有兩種格式:一種是JupyterNotebook的專屬文件格式,另一種是Python格式要保存成JupyterNotebook格式,在文件界面中點擊file菜單,選擇SaveandCheckpoint,文件會自動保存在默認路徑下,文件的擴展名為ipynb。如果要保存在自己的文件夾中,可以在桌面上先建立一個文件夾,比如,Python_code,進入JupyterNotebook后,點擊“Desktop”就能顯示你的文件夾Python_code,點擊該文件夾,并點擊右上角的New按鈕,選擇Python3,即可以創(chuàng)建一個Python文件,這個文件就會自動保存至文件夾Python_code中,你可以建立多個不同名稱的文件保存在該文件夾中要保存成Python文件,點擊file菜單,選擇Downloadas下的Python(.py),文件會自動保存在默認路徑

1.2

Python的初步使用

Anaconda——保存JupyterNotebook文件模塊Python中的模塊(module)或稱為庫(package)是指包含Python類、函數(shù)等信息的集合,可以看作一個工具包大部分統(tǒng)計分析和繪圖都可以使用已有的Python模塊中的函數(shù)來實現(xiàn)一個Python模塊中可能包含多個函數(shù),能做多種分析和繪圖,對于同一問題的分析或繪圖,也可以使用不同模塊中的函數(shù)來實現(xiàn),用戶可以根據個人需要和偏好選擇所用的模塊。模塊的下載與安裝可以在Python中進行,也可以在Anaconda中進行,這取決于你使用是操作平臺或環(huán)境在最初安裝Python軟件時,自帶了一序列內置模塊,如time,random,sys,os,json,pickle,shelve,xml,re,logging等除內置模塊外,Python還提供了豐富的開源的第三方模塊,統(tǒng)計常用的模塊有數(shù)值計算模塊numpy,數(shù)據處理模塊pandas,作圖模塊matplotlib,統(tǒng)計計算模塊statistics,統(tǒng)計建模模塊statsmodels內置模塊與第三方模塊都需要導入這些模塊才能使用其中的函數(shù)模塊的加載與安裝

1.2

Python的初步使用使用Python安裝pip工具是Python自帶的第三方安裝工具,在python安裝過程中已經安裝完成,無需獨立安裝。如果安裝Python時成功將其加入PATH,就可以在操作系統(tǒng)終端直接使用pipinstall<模塊名稱>命令安裝第三方模塊。Windows系統(tǒng)的操作是,同時按下電腦上的win+R鍵,在左下角彈出的運行窗口輸入“cmd”即可打開終端。MacOS直接打開Terminal即可使用Anaconda安裝使用Anaconda中的conda進行包的管理和環(huán)境管理。安裝模塊需要在AandondaPrompt中輸入命令。點擊Windows的“開始”按鈕,在Anaconda點擊AandondaPrompt,在打開的界面中輸入安裝命令即可完成安裝。比如,要安裝模塊pandas,輸入condainstall<模塊名稱>即可完成安裝模塊的加載與安裝

1.2

Python的初步使用模塊縮寫對于名稱較長的模塊,為方便使用,通常在導入后將其簡化命名。比如,importpandasaspd表示導入模塊pandas并簡化命名為pd,importmatpoltlibasplt表示導入模塊matploylib并簡化命名為plt,等等當你看到pd.read_csv時,意味著引用的是pandas模塊中的read_csv函數(shù),看到np.average時,意味著引用的是numpy模塊中的average函數(shù),等等模塊的縮寫

1.2

Python的初步使用查看幫助每個Python模塊和函數(shù)都有相應的幫助說明。使用中遇到疑問時,可以隨時查看幫助文件查詢Python內置的模塊或函數(shù)時,直接使用help(函數(shù)名)或help(’模塊名’)即可。比如,要想了解sum函數(shù)功能及使用方法,可以使用help(sum)或?sum來查詢。要了解random模塊的功能及使用方法,可使用help('random')查詢,或先使用import導入該模塊,使用help(random)查詢要查詢從第三方平臺安裝的模塊和其中的函數(shù)時,需要先用improt導入模塊,確保壞境內有這個對象查看幫助文件

1.2

Python的初步使用對象賦值Python有一個重要的概念,即一切皆對象。在Python中,數(shù)字、字符串、元組、列表、字典、函數(shù)、方法、類、模塊,包括你寫的代碼都是對象(object)對象是給某個變量、數(shù)據集或一組代碼起一個名字。比如,d=example1_1就是將數(shù)據框example1_1賦值給了對象d,要使用該數(shù)據框,直接使用d就可以了Python語言的標準賦值符號是“=”。使用者可以給對象賦一個值、一個列表、一個矩陣或一個數(shù)據框、一個代碼塊等。比如,將5個數(shù)據組成的列表[80,87,98,73,100]賦值給對象x,將數(shù)據文件example1_1賦值給對象d等編寫代碼腳本

1.2

Python的初步使用變量命名在Python中,變量名是所指定的一種特定標識符(字符串)。Python的變量命名規(guī)則如下標識符可以由字母、數(shù)字、下畫線(_)組成,其中數(shù)字不能打頭。字母并不局限于26個英文字母,可以包含中文字符等Python語言區(qū)分大小寫,因此abc和Abc是兩個不同的標識符標識符不能包含空格另外,Python有33個關鍵字,如表1-1所示。這些關鍵字在語法中有特定的含義和功能,不能作為變量名編寫代碼腳本

1.2

Python的初步使用讀取外部數(shù)據ython可以讀取不同形式的外部數(shù)據,這里主要介紹如何讀取csv格式和Excel格式的數(shù)據。本書使用的數(shù)據形式均為csv格式,其他很多類型的數(shù)據也可以轉換為csv格式,比如,Excel數(shù)據、SPSS數(shù)據等均可以轉換成csv格式需要注意的是,csv文件的編碼格式有兩種,即GBK格式和UTF-8格式。使用Excel將數(shù)據存為csv格式時,默認編碼格式為GBK,要將其存為UTF-8格式,需要使用CSVUTF-8進行保存使用pandas庫中的read_csv函數(shù)可以將csv格式數(shù)據讀入到Python環(huán)境中。默認讀取編碼格式為UTF-8的csv文件,讀取編碼格式為GBK的csv文件時,需要指定編碼格式,及設置參數(shù)encoding='gbk',否則會出現(xiàn)報錯信息文件讀取和保存

1.2

Python的初步使用數(shù)據保存在分析數(shù)據時,如果讀入的是已有的數(shù)據,并且未對數(shù)據做任何改動,就沒必要保存,下次使用時,重新加載該數(shù)據即可。但是,如果在Python中錄入的是新數(shù)據,或者對加載的數(shù)據做了修改,保存數(shù)據就十分必要如果在Python環(huán)境中錄入新數(shù)據,或者讀入的是已有的數(shù)據,想要將數(shù)據以特定的格式保存在指定的路徑中,則先要確定保存成何種格式。如果想將數(shù)據框保存成csv格式,則數(shù)據文件的后綴必須是csv,并指定編碼格式,可以使用數(shù)據框的to_csv方法。如果要將數(shù)據保存成Excel格式,則數(shù)據文件的后綴必須是xlsx,可以使用數(shù)據框的to_excel方法文件讀取和保存

1.2

Python的初步使用THEENDTHANKS2023/12/19StatisticswithPython

統(tǒng)計學

基于Python

2023/12/19

課程內容描述統(tǒng)計、推斷統(tǒng)計、其他方法使用軟件

Python

語言學分與課時3學分,1~17周,每周3課時課程簡介賈俊平吳翌琳著賈俊平2023/12/192.1Python的基本數(shù)據結構2.2數(shù)組、序列和數(shù)據框2.3數(shù)據抽樣和篩選2.4生成頻數(shù)分布表2.5Python繪圖基礎第2章數(shù)據處理和繪圖基礎

Python的數(shù)據結構——數(shù)字和字符串Python中有6種基本的數(shù)據結構或稱數(shù)據類型,分別是數(shù)字(number)、字符串(string)、元組(tuple)、列表(list)、字典(dictionary)、集合(set)6種數(shù)據類型通過不同的組成方式和定義可以產生更多的類型使用內置函數(shù)type()可以查看數(shù)據的類型

2.1

Python的基本數(shù)據結構數(shù)字用于儲存數(shù)值Python支持4種類型的數(shù)字,即int(整數(shù)類型)、float(浮點類型,即取小數(shù)的數(shù)字)、bool(布爾類型,是只取True和False兩個值的邏輯型數(shù)字,也可以用0和1表示)、complex(復數(shù)類型)。字符串由數(shù)值、字母、下劃線組成的字符??梢允褂脝我枺?')、雙引號('''')或三引號('''''')指定字符串使用“+”連接兩個字符串使用內置函數(shù)type()可以查看數(shù)據的類型

Python的數(shù)據結構——元組和列表元組是一維序列,其定長是固定的、不可變的,內容不能修改,通常用“()”標識,元素之間用“,”分隔列表列表也是一維序列,與元組不同的是其長度是可變的,它所包含的內容也可以進行修改列表中的元素可以是相同類型,也可以是不同類型,元素之間用逗號分隔,使用中括號“[]”或list類型函數(shù)可以創(chuàng)建列表,使用內置函數(shù)type()可以查看數(shù)據的類型

2.1

Python的基本數(shù)據結構#創(chuàng)建列表l1=[2,3,4,5]#生成元素同為數(shù)字的列表l1[2,3,4,5]l2=["甲","乙","丙","丁"]#元素同為字符串的列表l2['甲','乙','丙','丁']l3=["甲",23,True,[1,2,3]]#不同類型元素的列表l3['甲',23,True,[1,2,3]]l4=list(range(10))#用range函數(shù)生成等差數(shù)列,起始為0,步長為1l4[0,1,2,3,4,5,6,7,8,9]l5=list(range(100,200,20))#在100~200之間生成數(shù)列,步長為20l5[100,120,140,160,180]注:range函數(shù)是Python的內置函數(shù),用于生成整數(shù)等差序列,共有3個參數(shù),分別是起始值,終點值和步長。默認起始值為0,可以為負值,但不能是小數(shù),默認步長為1,生成規(guī)則是左閉右開

Python的數(shù)據結構——列表的操作列表的操作使用索引可以訪問列表中的元素,索引的符號也是方括號注意:Python的索引從左到右是從0開始的,從右到左是從-1開始的根據需要可以對于列表進行其他一些操作,比如,使用append方法將元素添加到列表的尾部;使用insert方法將元素插入到指定的列表位置;使用pop方法將列表中特定位置的元素移除并返回;使用sort方法對列表中的元素排序;使用“+”連接兩個列表,等等

2.1

Python的基本數(shù)據結構#向列表追加或插入元素l1=[2,3,4,5]l1.append(6)#將數(shù)字6追加到列表l1的尾部[2,3,4,5,6]l2=["甲","乙","丙","丁"]l2.insert(2,'戊')#在列表l2的第3個位置插入“戊”(插入位置的范圍從0到列表的長度)['甲','乙','戊','丙','丁']#移除列表中特定位置的元素并返回l2=["甲","乙","丙","丁"]l2.pop(2)#移除列表l2中第3個位置的元素并返回['甲','乙','丁']#連接兩個列表l1=[2,3,4,5]l2=["甲","乙","丙","丁"]l12=l1+l2#將列表l1和列表l2連接成一個新列表ab[2,3,4,5,'甲','乙','丙','丁']#列表元素的排序l6=[2,3,4,5,2,8]#創(chuàng)建列表l6l6.sort()#列表元素的排序[2,2,3,4,5,8]l7=['甲','乙','戊','丙','丁']#創(chuàng)建列表l7l7.sort()#列表元素的排序,或寫成sorted(l7)['丁','丙','乙','戊','甲']

Python的數(shù)據結構——字典和集合——字典及其操作字典字典是Python最重要的內置結構之一,它是大小可變的鍵值對集,其中鍵(key)和值(value)都是Python對象。字典中的元素用大括號{}括起來,用“:”分割鍵和值,不同的鍵值組合之間用“,”分隔。用大括號“{}”或dict函數(shù)可以創(chuàng)建字典,其形式如下:dictionary={key1:value1,key2:value2,……}或寫成:dictionary=dict(key1=value1,key2=value2,……)

2.1

Python的基本數(shù)據結構#用大括號{}創(chuàng)建字典dc1={'劉文濤':68,'王宇翔':85,'田思雨':74,'徐麗娜':88,'丁文彬':63}#創(chuàng)建5名學生考試分數(shù)的字典{'劉文濤':68,'王宇翔':85,'田思雨':74,'徐麗娜':88,'丁文彬':63}#用dict函數(shù)創(chuàng)建字典dc2=dict(劉文濤=68,王宇翔=85,田思雨=74,徐麗娜=88,丁文彬=63)#創(chuàng)建5名學生考試分數(shù)的字典{'劉文濤':68,'王宇翔':85,'田思雨':74,'徐麗娜':88,'丁文彬':63}#以列表的形式返回字典dc1中的鍵dc1.keys()dict_keys(['劉文濤','王宇翔','田思雨','徐麗娜','丁文彬'])#以列表的形式返回字典dc1中的值dc1.values()dict_values([68,85,74,88,63])#以列表的形式返回字典dc1中的鍵值對dc1.items()dict_items([('劉文濤',68),('王宇翔',85),('田思雨',74),('徐麗娜',88),('丁文彬',63)])#返回(查詢)字典dc1中鍵k上的值dc1['徐麗娜']88#刪除字典dc1中的某個鍵值對deldc1['田思雨']{'劉文濤':68,'王宇翔':85,'徐麗娜':88,'丁文彬':63}

Python的數(shù)據結構——字典和集合——集合及其操作集合集合是由唯一元素組成的無序集,可看成是只有鍵沒有值的字典集合中的元素是無序的,不記錄元素的位置,因此不支持索引、切片等類似序列的操作,只能遍歷或使用in、notin等訪問或判斷集合元素使用set()函數(shù)或大括號“{}”的方式等可以創(chuàng)建集合,一個空集合必須使用set()創(chuàng)建

2.1

Python的基本數(shù)據結構#使用set函數(shù)創(chuàng)建集合set1=set([2,2,2,1,8,3,3,5,5])set1{1,2,3,5,8}#使用大括號{}創(chuàng)建集合set2={2,2,2,1,4,3,3,5,6,6}set2{1,2,3,4,5,6}#兩個集合的并集(兩個集合中不同元素的集合)set1|set2#或寫成set1.union(set2){1,2,3,4,5,6,8}#兩個集合的交集(兩個集合中同時包含的元素)set1&set2#或寫成ersection(set2){1,2,3,5}

numpy中的數(shù)組——創(chuàng)建數(shù)組數(shù)組n維數(shù)組(ndarray)是numpy模塊中定義的對象,它可以是一維、二維和多維,數(shù)組中元素類型是數(shù)值型。n維數(shù)組由實際數(shù)據和描述這些數(shù)據的元數(shù)據(數(shù)據維度,數(shù)據類型等)組成,一般要求所有元素類型相同,數(shù)組下標從0開始一維數(shù)組就是通常所說的向量(vector),二維數(shù)組就是通常所說的矩陣(matrix)。可以通過構造函數(shù)array創(chuàng)建n維數(shù)組,也可以使用numpy中的其他函數(shù)如arange函數(shù)、ones函數(shù)以及zeros函數(shù)等創(chuàng)建n維數(shù)組

2.2

數(shù)組、序列和數(shù)據框#創(chuàng)建一維數(shù)組(向量)importnumpyasnpa1=np.array([5,4,1,2,3])#使用array函數(shù)創(chuàng)建數(shù)組a2=np.arange(10)#用range函數(shù)生成等差數(shù)列,起始為0,步長為1a3=np.arange(2,6,0.5)#用arange函數(shù)在2~6之間生成步長為0.5的等差序列print('a1:',a1)#輸出結果print('a2:',a2)print('a3:',a3)a1:[54123]a2:[0123456789]a3:[2.2.53.3.54.4.55.5.5]#創(chuàng)建二維數(shù)組(矩陣)importnumpyasnpa4=np.array([[1,2],[3,4],[5,6]])#創(chuàng)建2×3的矩陣a4array([[1,2],[3,4],[5,6]])#改變數(shù)組的形狀importnumpyasnpa5=np.arange(12)#創(chuàng)建一維數(shù)組a6=a5.reshape(3,4)#改變數(shù)組為3×4的二維數(shù)組(矩陣)a6array([[0,1,2,3],[4,5,6,7],[8,9,10,11]])

pandas中的序列和數(shù)據框——序列及其操作序列序列類似于一維數(shù)組,不同的是它由索引(index)和一維數(shù)值(values)組成序列可以儲存整數(shù)、浮點數(shù)、字符、Python對象等多種類型的數(shù)據,但一個序列最好只存儲一種類型的數(shù)據,若存在多種數(shù)據類型,該序列的類型會自動轉換成對象使用Series函數(shù)可創(chuàng)建序列,使用前需要導入pandas模塊importpandasaspds1=pd.Series([2,3,4,5])#省略索引時自動生成索引02132435dtype:int64s2=pd.Series([5,8,7,6],index=['a','b','c','d'])#自行指定索引a5b8c7d6dtype:int64#由標量生成序列時,不能省略索引s3=pd.Series([60,80,50],index=['甲',25,True])#索引可以是不同類型元素甲602580True50dtype:int64#由Python字典生成序列s4=pd.Series({'a':1,'b':'boy','c':3})#索引與數(shù)據以字典形式傳入a1bboyc3dtype:object#由其他函數(shù)生成序列s5=pd.Series(range(5))#使用range函數(shù),類似列表print(s5)#print函數(shù)用于標準輸出(也可以直接運行對象s5)0011223344dtype:int64

2.2

數(shù)組、序列和數(shù)據框

pandas中的序列和數(shù)據框——序列及其操作#獲取系列索引、數(shù)據、類型importpandasaspds6=pd.Series([5,8,7,6],index=['a','b','c','d'])print('類型:',s6.index)#獲取系列索引print('數(shù)據:',s6.values)#獲取系列數(shù)據print('類型:',s6.dtype)#獲取系列類型類型:Index(['a','b','c','d'],dtype='object')數(shù)據:[5876]類型:int64#設置系列與索引的名稱(name)屬性='我是一個pandas的Series'#設置系列名稱='我是索引'#設置系列索引名稱s6我是索引a5b8c7d6Name:我是一個pandas的Series,dtype:int64#轉換系列類型s6=s6.astype(float)#將整數(shù)型改為浮點數(shù)類型s6我是索引a5.0b8.0c7.0d6.0Name:我是一個pandas的Series,dtype:float64#修改序列中的數(shù)據s6[[1,3]]=[2,8]#將序列s6中的第2個值和第4個值修改為2和8s6我是索引a5.0b2.0c7.0d8.0Name:我是一個pandas的Series,dtype:float64#序列的對齊運算s7=pd.Series([1,2,3],index=['a','c','e'],dtype=float)s6+s7a6.0bNaNc9.0dNaNeNaNdtype:float64注:序列的運算完全根據索引來對齊,如果兩者都有自定義索引,優(yōu)先使用自定義索引,如果只有一個有自定義索引,另一個是自動索引,還是會使用自定義索引,這種情況運算結果會出現(xiàn)大量空值(NaN);如果兩方都是自動索引,則根據自動索引進行對齊。#序列的一些簡單計算importpandasaspds8=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'],dtype=float)c=s8.cumsum()#序列s8的累加s=s8.sum()#序列s8求和m=s8.mean()#求序列s8的平均數(shù)print("累加:",'\n',c,'\n',"總和=",s,'\n',"平均數(shù)=",m)累加:a1.0b3.0c6.0d10.0e15.0dtype:float64總和=15.0平均數(shù)=3.0

2.2

數(shù)組、序列和數(shù)據框

pandas中的序列和數(shù)據框——創(chuàng)建數(shù)據框數(shù)據框數(shù)據框是pandas中的另一個重要數(shù)據結構,它是一種表格結構的數(shù)據,類似于Excel中的數(shù)據表,也是較為常見的數(shù)據形式數(shù)據框實際上是帶標簽的二維數(shù)組,一個數(shù)據框由行索引(index)、列索引(columns)和二維數(shù)據(values)組成。數(shù)據框的每一列和每一行都是一個序列。為了便于分析,一般要求數(shù)據框一列只存儲一種類型的數(shù)據使用pandas的構造函數(shù)DataFrame可創(chuàng)建數(shù)據框,其中的參數(shù)data為數(shù)組或字典姓名統(tǒng)計學數(shù)學經濟學劉文濤688584王宇翔859163田思雨747461徐麗娜8810049丁文彬638289

2.2

數(shù)組、序列和數(shù)據框

pandas中的序列和數(shù)據框——數(shù)據框的操作數(shù)據框的操作顯示數(shù)據框,輸入數(shù)據框的名稱即可使用table1_1.head()默認顯示數(shù)據框table1_1的前5行;使用table1_1.tail()默認顯示數(shù)據框table1_1的后5行使用type函數(shù)可以查看數(shù)據的類型使用table1_1.shape可以查看數(shù)據框table1_1的行數(shù)和列數(shù)屬性當數(shù)據量比較大時,可以使用info()方法查看數(shù)據的結構使用describe()方法可以對數(shù)據框的數(shù)值型變量進行簡單的描述統(tǒng)計使用pandas的構造函數(shù)DataFrame可創(chuàng)建數(shù)據框,其中的參數(shù)data為數(shù)組或字典方法描述示例columns查看所有列名(列索引)df.columnsdtypes查看所有元素的類型df.dtypeshead查看前n行數(shù)據(默認前5行)df.head(3)index查看所有行名(行索引)df.indexinfo查看數(shù)據結構(索引、數(shù)據類型等)shape查看行數(shù)和列數(shù)(行,列)df.shapeT數(shù)據框的行列轉置df.Ttail查看后n行數(shù)據(默認后5行)df.tail(3)values查看所有元素的值df.values

2.2

數(shù)組、序列和數(shù)據框

pandas中的序列和數(shù)據框——數(shù)據框的排序數(shù)據框的排序使用sort_values()方法可以對數(shù)據框的某一列排序,函數(shù)默認參數(shù)ascending=True,即升序排列,需要降序時,可設置參數(shù)ascending=False可以按照索引排序,使用sort_index()方法,參數(shù)axis默認為0,按照行索引對行排序,設置axis=1即按照列索引對列排序,默認升序按姓名筆畫升序排序數(shù)據框按統(tǒng)計學考試分數(shù)降序排序數(shù)據框

2.2

數(shù)組、序列和數(shù)據框姓名統(tǒng)計學數(shù)學經濟學4丁文彬6382891王宇翔8591632田思雨7474610劉文濤6885843徐麗娜8810049

姓名統(tǒng)計學數(shù)學經濟學3徐麗娜88100491王宇翔8591632田思雨7474610劉文濤6885844丁文彬638289

pandas中的序列和數(shù)據框——數(shù)據框的合并數(shù)據框的合并可使用concat函數(shù)。函數(shù)默認參數(shù)axis為0(默認的參數(shù)設置可以省略不寫),表示將不同的數(shù)據框按行合并,設置axis=1將不同的數(shù)據框按列合并按行合并時,數(shù)據框中的列索引必須相同,按列合并時,數(shù)據框中的行索引必須相同,否則合并是沒有意義的合并后的數(shù)據框

2.2

數(shù)組、序列和數(shù)據框

姓名統(tǒng)計學數(shù)學經濟學0劉文濤6885841王宇翔8591632田思雨7474613徐麗娜88100494丁文彬6382895李志國7884516王智強9078597宋麗媛80100538袁芳芳5851799張建國637091

pandas中的序列和數(shù)據框——數(shù)據框的應用函數(shù)函數(shù)描述示例describe輸出數(shù)據框的主要描述統(tǒng)計量df.describe()count返回每一列中非空值的個數(shù)df.count()sum返回每一列的和(無法計算時返回空值)df.sum()max返回每一列的最大值df.max()min返回每一列的最小值df.min()argmax返回最大值所在的自動索引位置df.argmax()argmin返回最小值所在的自動索引位置df.argmin()idxmax返回最大值所在的自定義索引位置df.idxmax()idxmin返回最小值所在的自定義索引位置df.idxmin()mean返回每一列的平均值df.mean()median返回每一列的中位數(shù)df.median()var返回每一列的方差df.var()std返回每一列的標準差df.std()

2.2

數(shù)組、序列和數(shù)據框抽取簡單隨機樣本——例題分析

2.3

數(shù)據抽樣和篩選抽取簡單隨機樣本從一個已知的總體數(shù)據集中抽取一個隨機樣本可以采取不同的抽樣方法,本節(jié)只介紹抽取簡單隨機樣本的方法使用sample函數(shù)抽取簡單隨機樣本【例2-1】50個學生的姓名、性別、專業(yè)、滿意度和考試分數(shù)#無放回抽取10個學生:['黃向春','徐麗娜','張青松','王思思','袁芳芳','楊小波','馬家強','張志杰','李佳佳','王浩波’]#有放回抽取10個學生:['劉文濤','王思思','盧春陽','蔣亞迪','黃向春','李國勝','田思雨','吳凱迪','高鳳云','邵海陽’]#無放回抽取10個分數(shù):[73,78,80,75,71,89,74,70,82,81]#有放回抽取10個分數(shù):[90,74,76,74,77,86,74,86,63,89]數(shù)據篩選

2.3

數(shù)據抽樣和篩選數(shù)據篩選數(shù)據篩選(datafilter)是根據需要找出符合特定條件的某類數(shù)據。比如,找出每股盈利在2元以上的上市公司;找出考試成績在90分及以上的學生,等等用Python進行數(shù)據篩選的方法很多,比如,直接在數(shù)據框的[]中寫篩選的條件或者組合條件進行篩選;使用loc或iloc按標簽值(列名和行索引取值)或按數(shù)字索引訪問數(shù)據框,從行和列兩個維度篩選;使用df.isin函數(shù)篩選某些具體數(shù)值范圍內的數(shù)據;使用df.Query函數(shù)查詢數(shù)據框的列;使用filter函數(shù)篩選特定的行或列,等等使用sample函數(shù)抽取簡單隨機樣本數(shù)據篩選——例題分析

2.3

數(shù)據抽樣和篩選篩選出考試分數(shù)小于60的所有學生篩選出考試分數(shù)為70、80和90的3個學生篩選出不滿意的所有學生(前3行)篩選出管理學專業(yè)滿意的學生

姓名性別專業(yè)滿意度考試分數(shù)11馬鳳良男金融學滿意5514孫學偉男會計學不滿意5133張?zhí)煅竽袝媽W一般56

姓名性別專業(yè)滿意度考試分數(shù)49王思思女會計學滿意8021李國勝男金融學一般9047尹嘉韓男會計學一般70

姓名性別專業(yè)滿意度考試分數(shù)0張青松男會計學不滿意824張志杰男會計學不滿意7710李佳佳女金融學不滿意80

姓名性別專業(yè)滿意度考試分數(shù)18吳凱迪女管理學滿意7136李宗洋男管理學滿意7937劉皓天男管理學滿意8541孟子鐸男管理學滿意8246唐國健男管理學滿意75數(shù)據篩選——例題分析

2.3

數(shù)據抽樣和篩選篩選出會計學專業(yè)考試分數(shù)大于等于80的女生,并按分數(shù)多少降序排列

姓名性別專業(yè)滿意度考試分數(shù)29李愛華女會計學不滿意987宋麗媛女會計學一般9234李冬茗女會計學滿意8835王曉倩女會計學不滿意8649王思思女會計學滿意80篩選出考試分數(shù)大于等于80、金融學專業(yè)、滿意的女生,并按分數(shù)多少降序排列

姓名性別專業(yè)滿意度考試分數(shù)5趙穎穎女金融學滿意9726丁麗佳女金融學滿意8928于文靜女金融學滿意8443邱怡爽女金融學滿意83生成隨機數(shù)——例題分析

2.3

數(shù)據抽樣和篩選生成隨機數(shù)用numpy中的random子模塊可以同時生成多個隨機數(shù),還能組成不同形狀的隨機數(shù)數(shù)組由于是隨機生成,每次運行會得到不同的隨機數(shù)要想每次運行都產生相同的一組隨機數(shù),可在生成隨機數(shù)之前使用函數(shù)seed()設定隨機數(shù)種子,在括號內可輸入任意數(shù)字即可,如numpy.random.seed(12)。使用相同的隨機數(shù)種子,每次運行都會產生一組相同的隨機數(shù)#生成不同分布的隨機數(shù)(每種分布產生5個)importnumpy.randomasnpr

npr.seed(15)#設定隨機數(shù)種子r1=npr.standard_normal(size=5)#標準正態(tài)分布r2=npr.normal(loc=50,scale=5,size=5)#均值(loc)為50、標準差(scale)為5的正態(tài)分布r3=npr.uniform(low=0,high=10,size=5)#0~10之間的均勻分布

print('#標準正態(tài)分布:','\n',r1,'\n''#值為50、標準差為5的正態(tài)分布:','\n',r2,'\n''#0~10之間的均勻分布:','\n',r3)#打印結果#標準正態(tài)分布:[-0.312328480.33928471-0.15590853-0.501789670.23556889]#值為50、標準差為5的正態(tài)分布:[41.1819737244.5206897844.5611712948.4741497447.63125814]#0~10之間的均勻分布:[9.176298982.641468537.177736878.657150348.07079482]頻數(shù)分布表

2.4

生成頻分布數(shù)表頻數(shù)分布表頻數(shù)分布表(frequencydistributiontable)簡稱頻數(shù)表,是對類別數(shù)據計數(shù)或數(shù)值數(shù)據類別化(分組)后計數(shù)生成的表格,用于展示數(shù)據的頻數(shù)分布(frequencydistribution),其中,落在某一特定類別的數(shù)據個數(shù)稱為頻數(shù)(frequency)類別數(shù)據頻數(shù)表由于類別數(shù)據本身就是一種分類,只要將所有類別都列出來,然后計算出每一類別的頻數(shù),就可生成頻數(shù)分布表。根據觀測變量的多少,可以生成一維表、二維表和多維表數(shù)值數(shù)據的頻數(shù)分布表需要先將數(shù)據劃分成不同的數(shù)值區(qū)間,這樣的區(qū)間就是類別數(shù)據,然后再生成頻數(shù)分布表,這一過程稱為類別化(categorization)。類別化的方法是將原始數(shù)據分成不同的組別類別數(shù)據的頻數(shù)分布表——一維表

2.4

生成頻分布數(shù)表一維表當只涉及一個類別變量時,這個變量的各類別可以放在頻數(shù)分布表中“行”的位置,也可以放在“列”的位置,將該變量的各類別及其相應的頻數(shù)列出來就是一維表,也稱一維列聯(lián)表(one-dimensionalcontingencytable)【例2-2】

沿用例2-1。

專業(yè)會計學19金融學16管理學15一維表百分比表

專業(yè)會計學38.0金融學32.0管理學30.0類別數(shù)據的頻數(shù)分布表——二維表

2.4

生成頻分布數(shù)表二維表當涉及兩個類別變量時,可以將一個變量的各類別放在“行”的位置,另一個變量的各類別放在“列”的位置(行和列可以互換),由兩個類別變量交叉分類形成的頻數(shù)分布表稱為二維列聯(lián)表(two-dimensionalcontingencytable)或交叉表(crosstable),簡稱二維表使用pandas中的crosstab函數(shù)和pivot_table函數(shù)均可以生成二維表。在crosstab函數(shù)中,設置參數(shù)margins=True可為二維表添加邊際和;設置參數(shù)margins_name可以修改邊際和的名稱;設置參數(shù)normalize='index'可以計算各行數(shù)據占該行合計的比例;設置參數(shù)normalize='columns'可以計算各列數(shù)據占該列合計的比例;設置參數(shù)normalize='all'可以計算每個數(shù)據占總和的比例類別數(shù)據的頻數(shù)分布表——二維表——例題分析

2.4

生成頻分布數(shù)表生成二維表為二維表添加邊際和并修改邊際和名稱滿意度一般不滿意滿意性別

女3613男12610滿意度一般不滿意滿意性別

女13.6427.2759.09男42.8621.4335.71合計30.0024.0046.00百分比二維表滿意度一般不滿意滿意性別

女13.6427.2759.09男42.8621.4335.71合計30.0024.0046.00計算各數(shù)據占總和的比例,并轉換成百分比表計算各列所占的比例,并轉換成百分比表滿意度一般不滿意滿意合計性別

女20.050.056.5244.0男80.050.043.4856.0滿意度一般不滿意滿意合計性別

女6.012.026.044.0男24.012.020.056.0合計30.024.046.0100.0類別數(shù)據的頻數(shù)分布表——多維表

2.4

生成頻分布數(shù)表多維表有兩個以上類別變量時,通常將一個或多個變量按“列”擺放,其余變量按“行”擺放,這種由多個類別變量生成的頻數(shù)分布表稱為多維列聯(lián)表(multidimensionalcontingencytable)或高維表(higher-dimensionaltables),簡稱多維表使用pandas中的數(shù)據透視表函數(shù)pivot_table可以生成多個類別變量的多維表(該函數(shù)可以生成一維表、二維表和多維表)。參數(shù)index用于指定行變量,columns用于指定列變量(行和列可以互換,可根據需要指定)。參數(shù)margins=True可為多維表表添加邊際和,margins_name可以修改邊際和的名稱。使用聚集函數(shù)aggfunc可以對類別數(shù)據計數(shù)類別數(shù)據的頻數(shù)分布表——多維表——例題分析

2.4

生成頻分布數(shù)表

性別和專業(yè)為行變量、滿意度為列變量滿意度為行變量、性別和專業(yè)為列變量

滿意度一般不滿意滿意合計性別專業(yè)

女會計學1359管理學1214金融學1179男會計學43310管理學52411金融學3137合計

15122350性別女男合計專業(yè)會計學管理學金融學會計學管理學金融學

滿意度

一般11145315不滿意32132112滿意51734323合計9491011750數(shù)值數(shù)據類別化——分組表

2.4

生成頻分布數(shù)表數(shù)值數(shù)據類別化在生成數(shù)值數(shù)據的頻數(shù)分布表時,需要先將數(shù)據劃分成不同的數(shù)值區(qū)間,這樣的區(qū)間就是類別數(shù)據,然后再生成頻數(shù)分布表,這一過程稱為類別化(categorization)。類別化的方法是將原始數(shù)據分成不同的組別,數(shù)據分組是將數(shù)值數(shù)據轉化成類別數(shù)據的方法之一,它是先將數(shù)據按照一定的間距劃分成若干個區(qū)間,然后再統(tǒng)計出每個區(qū)間的頻數(shù),生成頻數(shù)分布表【例2-3】某電商平臺2023年前4個月每天的銷售額數(shù)據。對銷售額做適當分組,分析銷售額的分布特征272194161246196201217209265219188216181241254207198224253210215207225234225197171243208202206210233222222199199236203167199193248205216218209235188198225203252203181212205226226220240196172224200261207218217223228238191199252183238203172217237191229196204200187195200218207214217224230233192172216196200235216206218204186206212234243239222208205215203224238243數(shù)值數(shù)據類別化——分組表

2.4

生成頻分布數(shù)表

數(shù)值數(shù)據類別化——分組表——例題分析

2.4

生成頻分布數(shù)表組距=10的分組組距=15的分組

頻數(shù)頻數(shù)百分比(%)累積頻數(shù)累積頻數(shù)百分比(%)銷售額分組

(160,170]21.6721.67(170,180]43.3365.00(180,190]75.831310.83(190,200]2117.503428.33(200,210]2520.835949.17(210,220]1915.837865.00(220,230]1613.339478.33(230,240]1310.8310789.17(240,250]65.0011394.17(250,260]43.3311797.50(260,270]21.6711999.17(270,280]10.83120100.00

頻數(shù)頻數(shù)百分比(%)累積頻數(shù)累積頻數(shù)百分比(%)銷售額分組

[160,175)65.0065.00[175,190)75.831310.83[190,205)3025.004335.83[205,220)3428.337764.17[220,235)2117.509881.67[235,250)1512.5011394.17[250,265)54.1711898.33[265,280)21.67120100.00

Python主要繪圖模塊

2.5

Python繪圖基礎Python主要繪圖模塊Python具有強大的可視化功能,可繪制式樣繁多的圖形最典型的可視化工具主要有兩個:matplotlib和seaborn此外,作為數(shù)據分析模塊的pandas也提供了針對DataFrame對象的繪圖函數(shù)gglot模塊提供了類似于R中ggplot2的繪圖方法

Python主要繪圖模塊

2.5

Python繪圖基礎matplotlib模塊matplotlib是Python最常用的一種2D繪圖庫,它是Python中的基礎繪圖模塊,包含了大量的繪圖工具,可以繪圖靈活多樣的圖形,其中的pyplot子模塊類似于Matlab的操作思想,上手簡單matplotlib可以對圖形進行精確的設置,也可以與其他繪圖模塊結合使用matplotlib屬于比較底層的繪圖工具,要繪制漂亮或專業(yè)的圖形,顯得有些繁瑣,需要編寫大量的代碼,因此,實際中通常是將其與其他繪圖模塊結合使用在官方網站(/tutorials/index.html)可以查看matplotlib的使用方法seaborn模塊matplotlib是Python最常用的一種2D繪圖庫,它是Python中的基礎繪圖模塊,包含了大量的繪圖工具,可以繪圖靈活多樣的圖形,其中的pyplot子模塊類似于Matlab的操作思想,上手簡單seaborn可視為matplotlib的擴展模塊,也可視為對matplotlib繪圖的補充。它是在matplotlib的基礎上進行了高級API(ApplicationProgrammingInterface,應用程序編程接口)封裝,使用較少的代碼就可以繪制出漂亮的圖形,可用于繪制分面圖、交互圖、3D圖等。seaborn主要用于繪制較專業(yè)的統(tǒng)計分析圖形,基本上能滿足大部分統(tǒng)計繪圖的需求,尤其適合繪制按因子分組的圖形以及概率分布圖等

Python主要繪圖模塊

2.5

Python繪圖基礎Pandas中的繪圖函數(shù)pandas的數(shù)據結構主要是數(shù)據框,由于數(shù)據框中有行標簽和列標簽,使用pandas提供的針對DataFrame對象的繪圖函數(shù),繪圖所需的代碼要比matplotlib少pandas中也提供了數(shù)據框繪圖的高級方法,可以實現(xiàn)快速繪圖與matplotlib的精細化設置結合起來,同樣可以快速完成更有吸引力的圖形ggplot和plotnine繪圖系統(tǒng)ggplot和plotnine是用于繪圖的Python擴展模塊,這兩個模塊基本上移植了R中ggplot2的繪圖語法使用過R的ggplot2的讀者使用這兩個模塊繪圖十分容易,輸出的圖形風格也與R的ggplot2十分類似基本繪圖函數(shù)

2.5

Python繪圖基礎matplotlibmatplotlib是Python的一個2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質量級別的圖形。使用matplotlib僅需要很少的代碼就可以生成繪圖,如直方圖,條形圖,散點圖等使用matplotlib繪圖首先要明確兩個對象,即畫布(figure)和畫像(axes)。畫布即繪圖的區(qū)域,畫像即繪制的一幅圖,如折線圖、條形圖、散點圖等。所有繪圖操作的第1步都是創(chuàng)建畫布和畫像,讓Python明確你開始進行繪圖操作,一個畫布上可以放置多個畫像基本繪圖函數(shù)

2.5

Python繪圖基礎matplotlibmatplotlib使用不同的函數(shù)控制圖像的各個組件,如legend函數(shù)控制圖例的名稱、大小、顏色及位置等屬性,title函數(shù)控制標題,xlabel函數(shù)控制x軸(橫坐標)標題,相應的ylabel函數(shù)控制y軸(縱坐標)標題,xticks以及yticks函數(shù)分別控制x軸和y軸刻度等根據需要選擇不同的函數(shù)繪制圖像的內容,如plot函數(shù)繪制折線圖,hist函數(shù)繪制直方圖,barh函數(shù)繪制水平條形圖,scatter函數(shù)繪制散點圖等圖形布局

2.5

Python

溫馨提示

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

評論

0/150

提交評論