模塊2 Python數(shù)據(jù)挖掘模塊《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第1頁
模塊2 Python數(shù)據(jù)挖掘模塊《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第2頁
模塊2 Python數(shù)據(jù)挖掘模塊《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第3頁
模塊2 Python數(shù)據(jù)挖掘模塊《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第4頁
模塊2 Python數(shù)據(jù)挖掘模塊《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》教學(xué)課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》?精品課件合集《Python數(shù)據(jù)挖掘?qū)崙?zhàn)》

第二章Python數(shù)據(jù)挖掘模塊二、

Panda一、Numpy主要內(nèi)容三、Matplotlib四、Scikit-learn4

Numpy是NumericalPython的簡稱,是高性能計算和數(shù)據(jù)分析的基礎(chǔ)包。Numpy主要提供以下幾個主要功能:Ndarray數(shù)據(jù)對象:Numpy的多維數(shù)組對象,用于存儲和處理數(shù)據(jù)。提供可用于對數(shù)組數(shù)據(jù)進行快速運算的數(shù)學(xué)函數(shù)。提供可用于讀寫磁盤數(shù)據(jù)的工具。提供常用的線性代數(shù)、傅里葉變化和隨機數(shù)操作。提供可調(diào)用C/C++和Fortran代碼的工具。提供能夠無縫、快速地與各種數(shù)據(jù)庫集成的工具。一、Numpy5

1.Ndarray數(shù)組的創(chuàng)建

Ndarray是一個快速、靈活的數(shù)據(jù)容器,是由同質(zhì)元素(指幾乎所有元素的類型和大小都相同)組成的多維數(shù)組。Ndarray數(shù)組的常用創(chuàng)建方法有:array()、arange()、linspace()、ones()、zeros()以及各種隨機生成函數(shù)。(1)array()函數(shù)

可以將Python的列表、元組或者其他序列類型數(shù)據(jù)轉(zhuǎn)化為一個Ndarray數(shù)組。一、Numpy6(2)arrange()函數(shù)

用于創(chuàng)建一個等差數(shù)組,基本函數(shù)語法為:arange([start,]stop[,step],dtype=None)

它在區(qū)間[start,stop)上以start為起點,以step為步長構(gòu)建一個等差數(shù)組。一、Numpy7(2)arrange()函數(shù)

用于創(chuàng)建一個等差數(shù)組,基本函數(shù)語法為:arange([start,]stop[,step],dtype=None)

它在區(qū)間[start,stop)上以start為起點,以step為步長構(gòu)建一個等差數(shù)組。一、Numpy8(3)linespace()函數(shù)

用于創(chuàng)建一個等差數(shù)組,基本函數(shù)語法:linspace(start,stop,num=50,endpoint=True,dtype=None)

該函數(shù)可以將區(qū)間[start,stop]等分為具有num個元素的等差數(shù)組。其中,endpoint參數(shù)用于控制所生成的數(shù)組是否包含stop。一、Numpy9(4)zeros()、ones()、zeros_like()、ones_like()函數(shù)

用于生成一個指定形狀,且初始值全為0或者1的數(shù)組。zeros():生成全0數(shù)組,參數(shù)為一個指示數(shù)組形狀的元組ones():生成全1數(shù)組,參數(shù)為一個指示數(shù)組形狀的元組zeros_like():生成全0數(shù)組,參數(shù)為一個現(xiàn)有數(shù)組ones_like():生成全1數(shù)組,參數(shù)為一個現(xiàn)有數(shù)組一、Numpy10(5)隨機生成函數(shù)

Numpy的random模塊提供了多種隨機數(shù)組構(gòu)造函數(shù),用于生成指定形狀且符合特定分布的隨機Ndarray數(shù)組,包括:Numpy.random.rand(d0,d1,…):生成一個值在區(qū)間[0,1)上均勻分布的隨機數(shù)組。數(shù)組的形狀由d0,d1等參數(shù)給定。Numpy.random.randn(d0,d1,…):生成一個符合標(biāo)準(zhǔn)正態(tài)分布的隨機數(shù)組,數(shù)組的形狀由d0,d1等參數(shù)給定。Numpy.random.randint(low,high=None,size=None):生成一個在區(qū)間[low,high)上均勻分布,形狀為size的整數(shù)數(shù)組。一、Numpy11

2.Ndarray數(shù)組的屬性

多維數(shù)組Ndarray有3個重要的屬性:(1)dtype屬性Ndarray的數(shù)據(jù)類型包括:一、Numpy12(1)dtype屬性

在創(chuàng)建Ndarray數(shù)組時,均可通過設(shè)置dtype參數(shù)指定其數(shù)據(jù)類型。也可以使用astype()函數(shù)對數(shù)組對象的類型進行轉(zhuǎn)化。一、Numpy13(2)ndim和shape屬性ndim屬性用來參看數(shù)組對象的維數(shù),即具有多少個維度。shape屬性可以獲得數(shù)組對象的形狀,即在每個維度的具體大小。一、Numpy143.索引和切片

Numpy可以通過下標(biāo)索引的方式獲取Numpy數(shù)組中的某個元素,或者通過切片的方式獲取數(shù)組中的一塊數(shù)據(jù)。(1)普通索引Numpy可以將每個維度的索引值單獨放到一個中括號“[]”,拼接多個維度的索引值來獲得某一個元素值。一、Numpy15(2)切片

Numpy中的切片用于獲取Numpy數(shù)組的一塊數(shù)據(jù),其操作方式與Python列表中的切片很相似,均使用“[]”指定下標(biāo)實現(xiàn)。

其中,每個維度上使用冒號“:”分割起始位置、截止位置(切片時不包含該位置)與步長,逗號“,”用于區(qū)分不同維度上的切片操作,用省略號“…”表示切片操作遍歷剩余所有的維度。一、Numpy164.排序

Numpy提供了排序函數(shù)sort()實現(xiàn)數(shù)組對象的排序。并且,它可以使用axis參數(shù)來指定在指定維度(軸)上進行排序。

在Numpy中,調(diào)用sort()函數(shù)的方式有兩種:np.sort(Ndarray數(shù)組對象)Ndarray數(shù)組對象.sort()區(qū)別在于:前一種方式會返回一個排序好的新數(shù)組,不會對原數(shù)組的順序做修改。后一種調(diào)用方式會直接在原數(shù)組上進行重新排序。一、Numpy175.Numpy的數(shù)組運算(1)數(shù)組與數(shù)值的算術(shù)運算Numpy支持數(shù)組和數(shù)值之間進行加、減、乘、除、求余、乘方等算術(shù)運算。(2)數(shù)組與數(shù)組的算術(shù)運算Numpy數(shù)組與數(shù)組進行運算時,如果兩個數(shù)組的形狀相同,則運算過程為兩個數(shù)組對應(yīng)位置的元素進行相應(yīng)算術(shù)運算。如果形狀不同,則要利用Numpy的“廣播”特性進行計算。一、Numpy186.Numpy的統(tǒng)計函數(shù)Numpy支持一組統(tǒng)計函數(shù)對數(shù)組進行統(tǒng)計分析一、Numpy19Pandas是基于Numpy構(gòu)建的一個數(shù)據(jù)分析模塊,它也是Python語言中最強大也最重要的數(shù)據(jù)分析和處理模塊之一。Pandas是一個專門為處理表格和混雜數(shù)據(jù)而設(shè)計的高效模塊,而Numpy更適合處理統(tǒng)一的數(shù)值數(shù)據(jù)。

二、Pandas20Pandas是基于Numpy構(gòu)建的一個數(shù)據(jù)分析模塊,它也是Python語言中最強大也最重要的數(shù)據(jù)分析和處理模塊之一。Pandas是一個專門為處理表格和混雜數(shù)據(jù)而設(shè)計的高效模塊,而Numpy更適合處理統(tǒng)一的數(shù)值數(shù)據(jù)。

可以在Anaconda命令行終端中使用pip命令或者conda命令進行安裝,如下所示。pipinstallpandas#pip安裝方式

condainstallpandas#Anaconda安裝方式二、Pandas21Pandas的數(shù)據(jù)結(jié)構(gòu)

Pandas提供了兩種重要的數(shù)據(jù)結(jié)構(gòu):Series和DataFrame。

(1)SeriesSeries由一組數(shù)據(jù)(可以是不同數(shù)據(jù)類型)和與之對應(yīng)的索引值所組成。創(chuàng)建一個Series對象時,可以通過向pd.Series傳遞一個Python列表、字典或者Numpy一維數(shù)組來實現(xiàn)。二、Pandas22

(2)DataFrame

一個DataFrame對象由多個列組成,每列的數(shù)據(jù)類型可以不同(數(shù)值、文本等)。

創(chuàng)建DataFrame對象的典型方法是向pd.DataFrame()方法傳入二維列表、字典或者二維數(shù)組。二、Pandas232.查看和獲取數(shù)據(jù)

(1)數(shù)據(jù)查看和設(shè)置

在創(chuàng)建一個DataFrame對象后,可以使用對象的一些內(nèi)置函數(shù)和屬性對它的基本信息進行觀察和設(shè)置。常用的操作包括。獲取df的行數(shù):df.shape[0]或者len(df)。獲取df的列數(shù):df.shape[1]。獲取df的維數(shù):df.shape。獲取df的列名或者行名:df.columns或df.index。重新定義列名字:df.columns=[‘A’,‘B’,‘C’]。更改某些列的名字:df.rename(columns={‘x’:‘X’},inplace=True)查看df的概要信息:()查看df中前n行的數(shù)據(jù)信息:df.head(n)查看df最后n行的信息:df.tail(n)二、Pandas24(2)數(shù)據(jù)獲取

Pandas也支持使用索引和切片等方式獲取DataFrame中的值,進而進行計算或者修改。Pandas進行數(shù)據(jù)索引和切片的方式通常有以下三種:

通過列索引獲得對象中的一列或者多列。通過對象的loc[]函數(shù)或iloc[]函數(shù)獲取指定行索引、列索引位置上的數(shù)據(jù)。使用條件索引獲得滿足條件的部分數(shù)據(jù)或切片。二、Pandas25(2)數(shù)據(jù)獲取

二、Pandas263.Pandas的算術(shù)運算Pandas支持將Series或DataFrame對象當(dāng)作一個整體進行算術(shù)運算。Pandas提供了兩種算術(shù)運算方法。第一種是直接采用“+”、“-”、“*”、“/”等算術(shù)運算符實現(xiàn);第二種方法是使用add()、sub()、mul()、div()、mod()等函數(shù)實現(xiàn)算術(shù)運算。Pandas在對兩個對象進行算術(shù)運算時,只有對應(yīng)索引(行索引和列索引)相同的兩個數(shù)據(jù)才可以進行算術(shù)運算;而不同索引的數(shù)據(jù)不能直接進行算術(shù)運算,但默認情況下,它們會以NaN出現(xiàn)在計算結(jié)果中。二、Pandas273.Pandas的算術(shù)運算二、Pandas284.Pandas的統(tǒng)計匯總函數(shù)二、Pandas295.Pandas讀寫文件Pandas可以方便地讀取本地文件如CSV、TXT和XLSX等。

(1)讀CSV文本文件Pandas使用read_csv()函數(shù)讀入一個CSV文件,并將所讀取的數(shù)據(jù)存入到一個DataFrame對象中。

read_csv(filepath_or_buffer,sep,delimiter=",",

header=0,encoding="gbk")

主要參數(shù)的含義是:filepath_or_buffer:文件路徑名,也可以是存儲數(shù)據(jù)的URL地址。sep:讀取CSV文件時指定的分隔符,默認為逗號。delimiter:定界符,備選分隔符。header:設(shè)置導(dǎo)入DataFrame的列名稱。如果設(shè)置為0,則表示文件的第0行為列名稱。encoding:文件的編碼方式,常用的有utf8,ansi和gbk等。二、Pandas30(2)寫CSV文本文件

數(shù)據(jù)處理完畢以后,可以使用to_csv()函數(shù)將DataFrame格式的數(shù)據(jù)保存為CSV文件。to_csv()函數(shù)的完整形式如下:

to_csv(path_or_buf,sep,na_rep,index,header,encoding)

主要參數(shù)的含義是:path_or_buf:所要保存的文件路徑名。sep:數(shù)據(jù)保存時,不同項目之間的分隔符。na_rep:數(shù)據(jù)保存時,空值的存儲形式。index:bool型值,其中True表示將行索引存入文件,F(xiàn)alse表示不存儲header:可以設(shè)置為字符串或布爾列表,默認為True,此時寫出列encoding:文件的編碼方式,常用的有utf-8,ansi和gbk等。二、Pandas31(1)讀Excel文件Pandas可以讀寫擴展名為.xls或.xlsx的Excel文件。

read_excel(io,sheetname=0,header=0,index_col=None)

主要參數(shù)的含義是:io:Excel文件的路徑名。sheetname:默認值為0,此時返回Excel中第一個表;也可設(shè)置為str,int,list或None。header:指定哪一行作為列名的,默認是第0行。index_col:作用是指定用哪一列作為行索引。二、Pandas32(2)寫Excel文件

使用to_excel()函數(shù)將DataFrame格式的數(shù)據(jù)保存為Excel文件。

to_excel(excel_writer,sheetname=None,na_rep="",

header=True,index=True)

二、Pandas33(2)寫Excel文件

使用to_excel()函數(shù)將DataFrame格式的數(shù)據(jù)保存為Excel文件。

to_excel(excel_writer,sheetname=None,na_rep="",

header=True,index=True)

主要參數(shù)的含義是:excel_writer:所要保存的Excel文件路徑名或者Excel_writer對象。sheetname:str類型參數(shù),存放數(shù)據(jù)的表格名稱。na_rep:數(shù)據(jù)保存時,空值的存儲形式,默認為空字符串。header:可設(shè)置為bool型或者字符串列表;默認為Truebool型值,其中True表示將行索引存入文件,F(xiàn)alse表示不存儲行索引二、Pandas34

Matplotlib是Python的基礎(chǔ)繪圖模塊,可以繪制多種樣式的圖形,如線圖、直方圖、餅圖、散點圖、三維圖形等。

安裝Matplotlib模塊,可以使用pip或者conda命令:pipinstallmatplotlib

#使用pip安裝matplotlibcondainstallmatplotlib#使用conda安裝

三、Matplotlib351Matplotlib繪圖元素

在Matplotlib中,整個圖形是一個畫布(Figure)對象。使用Matplotlib進行繪圖,實質(zhì)上是在調(diào)用各種函數(shù)在畫布上添加各種基本繪圖元素,并通過設(shè)置函數(shù)的參數(shù)來控制各元素的外形。

三、Matplotlib36設(shè)置坐標(biāo)軸參數(shù)所需的函數(shù)

三、Matplotlib三、Matplotlib參數(shù)名稱解釋取值linewidth線條寬度取0-10之間的數(shù)值,默認為1.5。linestyle線條樣式可取“-”“--”“-.”“:”四種。默認為“-”。marker線條上點的形狀可取“o”“D”“h”“.”“,”“S”等20種,默認為None。markersize點的大小取0-10之間的數(shù)值,默認為1。Matplotlib中圖形的參數(shù)linestyle取值意義linestyle取值意義-實線-.點線--長虛線:短虛線382常用Matplotlib圖形的繪制(1)折線圖

使用plot()函數(shù)進

溫馨提示

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

評論

0/150

提交評論