《機(jī)器學(xué)習(xí)與Python實(shí)踐》課件-02-01Python基礎(chǔ)庫(kù)_第1頁(yè)
《機(jī)器學(xué)習(xí)與Python實(shí)踐》課件-02-01Python基礎(chǔ)庫(kù)_第2頁(yè)
《機(jī)器學(xué)習(xí)與Python實(shí)踐》課件-02-01Python基礎(chǔ)庫(kù)_第3頁(yè)
《機(jī)器學(xué)習(xí)與Python實(shí)踐》課件-02-01Python基礎(chǔ)庫(kù)_第4頁(yè)
《機(jī)器學(xué)習(xí)與Python實(shí)踐》課件-02-01Python基礎(chǔ)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本章目錄·numpy庫(kù)概述pandas庫(kù)概述scipy庫(kù)概述matplotlib庫(kù)概述scikit-learn庫(kù)概述1.NumPy概述01

NumPy概述02NumPy數(shù)組(ndarry)對(duì)象03ufunc函數(shù)04NumPy的函數(shù)庫(kù)46Python模塊-NumPynumpyNumpy是一個(gè)用python實(shí)現(xiàn)的科學(xué)計(jì)算的擴(kuò)展程序庫(kù),包括:1、一個(gè)強(qiáng)大的N維數(shù)組對(duì)象Array;2、比較成熟的(廣播)函數(shù)庫(kù);3、用于整合C/C++和Fortran代碼的工具包;4、實(shí)用的線(xiàn)性代數(shù)、傅里葉變換和隨機(jī)數(shù)生成函數(shù)。numpy和稀疏矩陣運(yùn)算包scipy配合使用更加方便。NumPy(Numeric

Python)提供了許多高級(jí)的數(shù)值編程工具,如:矩陣數(shù)據(jù)類(lèi)型、矢量處理,以及精密的運(yùn)算庫(kù)。專(zhuān)為進(jìn)行嚴(yán)格的數(shù)字處理而產(chǎn)生。多為很多大型金融公司使用,以及核心的科學(xué)計(jì)算組織如:LawrenceLivermore,NASA用其處理一些本來(lái)使用C++,F(xiàn)ortran或Matlab等所做的任務(wù)。標(biāo)準(zhǔn)的Python中用list(列表)保存值,可以當(dāng)做數(shù)組使用,但因?yàn)榱斜碇械脑乜梢允侨魏螌?duì)象,所以浪費(fèi)了CPU運(yùn)算時(shí)間和內(nèi)存。NumPy誕生為了彌補(bǔ)這些缺陷。它提供了兩種基本的對(duì)象:ndarray:全稱(chēng)(n-dimensionalarrayobject)是儲(chǔ)存單一數(shù)據(jù)類(lèi)型的多維數(shù)組。ufunc:全稱(chēng)(universalfunctionobject)它是一種能夠?qū)?shù)組進(jìn)行處理的函數(shù)。NumPy的官方文檔:/doc/numpy/reference/NumPy是什么?47Python模塊-NumPy切片48Python模塊-NumPy廣播2.NumPy數(shù)組(ndarry)對(duì)象01

NumPy概述02NumPy數(shù)組(ndarry)對(duì)象03ufunc函數(shù)04NumPy的函數(shù)庫(kù)1.1認(rèn)識(shí)NumPy數(shù)組對(duì)象>importnumpyasnp#導(dǎo)入NumPy工具包

>data=np.arange(12).reshape(3,4)#創(chuàng)建一個(gè)3行4列的數(shù)組

>dataarray([[0,1,2,3],

[4,5,6,7],

[8,9,10,11]])

ndarray對(duì)維數(shù)沒(méi)有限制。[]從內(nèi)到外分別為第0軸,第1軸,第2軸,第3軸。NumPy最重要的一個(gè)特點(diǎn)是其N(xiāo)維數(shù)組對(duì)象ndarray,它是一系列同類(lèi)型數(shù)據(jù)的集合,以0下標(biāo)為開(kāi)始進(jìn)行集合中元素的索引。ndarray對(duì)象是用于存放同類(lèi)型元素的多維數(shù)組。1.1認(rèn)識(shí)NumPy數(shù)組對(duì)象2>type(data)numpy.ndarraydata.size#數(shù)組元素的個(gè)數(shù),輸出結(jié)果12,表示總共有12個(gè)元素data.dtype#數(shù)組元素的類(lèi)型,輸出結(jié)果dtype('int64'),表示元素類(lèi)型都是int64>data.shape#數(shù)組的維度,輸出結(jié)果(3,4),表示3行4列>data.ndim#數(shù)組維度的個(gè)數(shù),輸出結(jié)果2,表示二維數(shù)組(3,4)12dtype('int32')

1.2創(chuàng)建NumPy數(shù)組>importnumpyasnp

>data1=np.array([1,2,3])#創(chuàng)建一個(gè)一維數(shù)組

>data1

array([[1,2,3],

[4,5,6]])array([1,2,3])data2=np.array([[1,2,3],[4,5,6]])#創(chuàng)建一個(gè)二維數(shù)組

data2

np.zeros((3,4))#創(chuàng)建一個(gè)全0數(shù)組array([[0.,0.,0.,0.],

[0.,0.,0.,0.],

[0.,0.,0.,0.]])1.2創(chuàng)建NumPy數(shù)組>np.ones((3,4))#創(chuàng)建全一數(shù)組array([[1.,1.,1.,1.],

[1.,1.,1.,1.],

[1.,1.,1.,1.]])>np.empty((5,2))#創(chuàng)建全空數(shù)組,其實(shí)每個(gè)值都是接近于零的數(shù)

array([[6.95312756e-310,2.12199579e-314],

[2.12199579e-314,4.94065646e-324],

[0.00000000e+000,-7.06252554e-311],

[0.00000000e+000,-8.12021073e-313],

[1.29923372e-311,2.07507571e-322]])1.2創(chuàng)建NumPy數(shù)組

array([1,6,11,16])

array([1.,2.,3.,4.])

array([[1.,1.,1.],

[1.,1.,1.]])

>np.arange(1,20,5)>np.array([1,2,3,4],float)>np.ones((2,3),dtype='float64')ndarray的創(chuàng)建NumPy提供了專(zhuān)門(mén)用于生成ndarray的函數(shù),提高創(chuàng)建ndarray的速度。>a=np.arange(0,1,0.1)array([0.,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9])>b=np.linspace(0,1,10)array([0.,0.11111111,0.22222222,0.33333333,0.44444444,0.55555556,0.66666667,0.77777778,0.88888889,1.])>c=np.linspace(0,1,10,endpoint=False)array([0.,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9])>d=np.logspace(0,2,5)array([1.,3.16227766,10.,31.6227766,100.])ndarray的創(chuàng)建np.empty((2,3),)創(chuàng)建2*3的整形型空矩陣,只分配內(nèi)存np.zeros(4,)創(chuàng)建長(zhǎng)度為4,值為全部為0的矩陣np.full(4,np.pi)創(chuàng)建長(zhǎng)度為4,值為全部為pi的矩陣>deffunc(i):returni%4+1>np.fromfunction(func,(10,))array([1.,2.,3.,4.,1.,2.,3.,4.,1.,2.])還可以自定義函數(shù)產(chǎn)生ndarray。fromfunction第一個(gè)參數(shù)接收計(jì)算函數(shù),第二個(gè)參數(shù)接收數(shù)組的形狀。ndarray的屬性ndarray的元素具有相同的元素類(lèi)型。常用的有int(整型),float(浮點(diǎn)型),complex(復(fù)數(shù)型)。>a=np.array([1,2,3,4],dtype=float)array([1.,2.,3.,4.])>a.dtypedtype('float64')ndarray的shape屬性用來(lái)獲得它的形狀,也可以自己指定。>c=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]])>c.shape(3,4)>a=np.array([1,2,3,4])>d=a.reshape((2,2))array([[1,2],[3,4]])ndarray的切片ndarray的切片和list是一樣的。>a=np.arange(10)>aarray([0,1,2,3,4,5,6,7,8,9])a[5]a[3:5]a[:5]a[:-1]----------------------------------------------------5[3,4][0,1,2,3,4][0,1,2,3,4,5,6,7,8]a[1:-1:2]a[::-1]a[5:1:-2]---------------------------------------------------[1,3,5,7][9,8,7,6,5,4,3,2,1,0][5,3]可以通過(guò)切片的對(duì)ndarray中的元素進(jìn)行更改。>a[2:4]=100,101>aarray([0,1,100,101,4,5,6,7,8,9])ndarray的切片ndarray通過(guò)切片產(chǎn)生一個(gè)新的數(shù)組b,b和a共享同一塊數(shù)據(jù)存儲(chǔ)空間。>b=a[3:7]>b[2]=-10ba----------------------------------------------------------------------[101,4,-10,6][0,1,100,101,4,-10,6,7,8,9]如果想改變這種情況,我們可以用列表對(duì)數(shù)組元素切片。>b=a[[3,3,-3,8]]>barray([3,3,7,8])>b[2]=100ba----------------------------------------------------------------------[3,3,100,8][0,1,2,3,4,5,6,7,8,9]多維數(shù)組NumPy的多維數(shù)組和一維數(shù)組類(lèi)似。多維數(shù)組有多個(gè)軸。我們前面已經(jīng)提到從內(nèi)到外分別是第0軸,第1軸…>a=np.arange(0,60,10).reshape(-1,1)+np.arange(0,6)array([[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25],[30,31,32,33,34,35],[40,41,42,43,44,45],[50,51,52,53,54,55]])a[0,3:5]a[4:,4:]a[2::2,::2]---------------------------------[3,4][[44,45],[[20,22,24],[54,55]][40,42,44]]#上面方法對(duì)于數(shù)組的切片都是共享原數(shù)組的儲(chǔ)存空間的。結(jié)構(gòu)數(shù)組C語(yǔ)言中可以通過(guò)struct關(guān)鍵字定義結(jié)構(gòu)類(lèi)型。NumPy中也有類(lèi)似的結(jié)構(gòu)數(shù)組。>persontype=np.dtype({'names':['name','age','weight'],'formats':['S30','i','f']})>a=np.array([("Zhang",32,75.5),("Wang",24,65.2)],dtype=persontype)我們就創(chuàng)建了一個(gè)結(jié)構(gòu)數(shù)組,并且可以通過(guò)索引得到每一行。nameageweight0zhang3275.51wang2465.2>printa[0]('Zhang',32,75.5)3.ufunc函數(shù)01

NumPy概述02NumPy數(shù)組(ndarry)對(duì)象03ufunc函數(shù)04NumPy的函數(shù)庫(kù)ufunc函數(shù)ufunc是universalfunction的簡(jiǎn)稱(chēng),它是一種能對(duì)數(shù)組每個(gè)元素進(jìn)行運(yùn)算的函數(shù)。NumPy的許多ufunc函數(shù)都是用C語(yǔ)言實(shí)現(xiàn)的,因此它們的運(yùn)算速度非???。>x=np.linspace(0,2*np.pi,10)>y=np.sin(x)>yarray([0.00000000e+00,6.42787610e-01,9.84807753e-01,.....,-2.44929360e-16])值得注意的是,對(duì)于同等長(zhǎng)度的ndarray,np.sin()比math.sin()快但是對(duì)于單個(gè)數(shù)值,math.sin()的速度則更快。四則運(yùn)算NumPy提供了許多ufunc函數(shù),它們和相應(yīng)的運(yùn)算符運(yùn)算結(jié)果相同。>a=np.arange(0,4)>b=np.arange(1,5)>np.add(a,b)array([1,3,5,7])>a+barray([1,3,5,7])>np.subtract(a,b)#減法>np.multiply(a,b)#乘法>np.divide(a,b)#如果兩個(gè)數(shù)字都為整數(shù),則為整數(shù)除法>np.power(a,b)#乘方比較運(yùn)算和布爾運(yùn)算使用==,>對(duì)兩個(gè)數(shù)組進(jìn)行比較,會(huì)返回一個(gè)布爾數(shù)組,每一個(gè)元素都是對(duì)應(yīng)元素的比較結(jié)果。>np.array([1,2,3])<np.array([3,2,1])array([True,False,False],dtype=bool)布爾運(yùn)算在NumPy中也有對(duì)應(yīng)的ufunc函數(shù)。表達(dá)式ufunc函數(shù)y=x1==x2equal(x1,x2[,y])y=x1!=x2not_equal(x1,x2[,y])y=x1<x2less(x1,x2[,y])y=x1<=x2not_equak(x1,x2[,y])y=x1>x2greater(x1,x2[,y])y=x1>=x2gerater_equal(x1,x2[,y])自定義ufunc函數(shù)NumPy提供的標(biāo)準(zhǔn)ufunc函數(shù)可以組合出復(fù)合的表達(dá)式,但是有些情況下,自己編寫(xiě)的則更為方便。我們可以把自己編寫(xiě)的函數(shù)用frompyfunc()轉(zhuǎn)化成ufunc函數(shù)。>defnum_judge(x,a):#對(duì)于一個(gè)數(shù)字如果是3或5的倍數(shù)就ifx%3==0:返回0,否則返回a。r=0elifx%5==0:r=0else:r=areturnr>x=np.linspace(0,10,11)>y=np.array([num_judge(t,2)fortinx])#列表生成式array([0,2,2,0,2,0,0,2,2,0,0])自定義ufunc函數(shù)使用frompyfunc()進(jìn)行轉(zhuǎn)化,調(diào)用格式如下:>numb_judge=np.frompyfunc(num_judge,2,1)>y=numb_judge(x,2)array([0,2,2,0,2,0,0,2,2,0,0],dtype=object)frompyfunc(func,nin,nout)func:計(jì)算函數(shù)nin:func()輸入?yún)?shù)的個(gè)數(shù)nout:func()輸出參數(shù)的個(gè)數(shù)因?yàn)樽詈筝敵龅脑仡?lèi)型是object,所以我們還需要把它轉(zhuǎn)換成整型。y.astype()廣播(broadcasting)我們看一下具體的例子:>a=np.arange(0,60,10).reshape(-1,1)>b=np.arange(0,5)>c=a+bcc.shape-----------------------------[[0,1,2,3,4],(6,5)[10,11,12,13,14],[20,21,22,23,24],[30,31,32,33,34],[40,41,42,43,44],[50,51,52,53,54]]廣播(broadcasting)ogrid用來(lái)生成廣播運(yùn)算所用的數(shù)組。>x,y=np.ogrid[:5,:5]xy----------------------[[0],[[0,1,2,3,4]][1],[2],[3],[4]]下面操作和a.reshape(1,-1),a.reshape(-1,1)相同

。>a=np.arange(4)a[None,:]a[:,None]------------------------[[0,1,2,3]][[0],[1],[2],3]]4.NumPy的函數(shù)庫(kù)01

NumPy概述02NumPy數(shù)組(ndarry)對(duì)象03ufunc函數(shù)04NumPy的函數(shù)庫(kù)隨機(jī)數(shù)除了前面介紹的ufunc()函數(shù)之外,NumPy還提供了大量對(duì)于數(shù)組運(yùn)算的函數(shù)。它們能夠簡(jiǎn)化邏輯,提高運(yùn)算速度。我們首先看隨機(jī)數(shù)。NumPy產(chǎn)生隨機(jī)數(shù)的模塊在random里面,其中有大量的分布。>fromnumpyimportrandomasnr>np.set_printoptions(precision=2)#顯示小數(shù)點(diǎn)后兩位數(shù)>r1=nr.rand(4,3)[[0.87,0.42,0.34],[0.25,0.87,0.42],[0.49,0.18,0.44],[0.53,0.23,0.81]]>r2=nr.poisson(2.0,(4,3))[[3,1,5],[2,2,3],[2,4,4],[2,2,3]]隨機(jī)數(shù)rand0到1之間的隨機(jī)數(shù)normal正態(tài)分布的隨機(jī)數(shù)randint制定范圍內(nèi)的隨機(jī)整數(shù)uniform均勻分布randn標(biāo)準(zhǔn)正態(tài)的隨機(jī)數(shù)poisson泊松分布choice隨機(jī)抽取樣本shuffle隨機(jī)打亂順序求和,平均值,方差NumPy在均值等方面常用的函數(shù)如下:>np.random.seed(42)>a=np.random.randint(0,10,size=(4,5))>np.sum(a)96函數(shù)名功能sum求和average加權(quán)平均數(shù)var方差mean期望std標(biāo)準(zhǔn)差product連乘積求和,平均值,方差a--------------[[6,3,7,4,6],[9,2,6,7,4],[3,7,7,2,5],[4,1,7,5,1]]keepdims可以保持原來(lái)數(shù)組的維數(shù)。np.sum(a,1,keepdims=True)np.sum(a,0,keepdims=True)------------------------------------------------------[[26],[[22,13,27,18,16]][28],[24],[18]]np.sum(a,axis=1)np.sum(a,axis=0)-------------------------------------[26,28,24,18][22,13,27,18,16]大小與排序NumPy在排序等方面常用的函數(shù)如下:>a=np.array([1,3,5,7])>b=np.array([2,4,6])>np.maximum(a[None,:],b[:,None])#maxinum返回兩組array([[2,3,5,7],矩陣廣播計(jì)算后的[4,4,5,7],結(jié)果[6,6,6,7]])函數(shù)名功能函數(shù)名功能min最小值max最大值ptp極差argmin最小值的下標(biāo)mininum二元最小值maxinum二元最大值sort數(shù)組排序argsort數(shù)組排序下標(biāo)percentile分位數(shù)median中位數(shù)min,max都有axis,out,keepdims等參數(shù),我們來(lái)看其他函數(shù)。大小與排序sort()對(duì)數(shù)組進(jìn)行排序會(huì)改變數(shù)組的內(nèi)容,返回一個(gè)新的數(shù)組。axis的默認(rèn)值都為-1,即按最終軸進(jìn)行排序。axis=0對(duì)每列上的值進(jìn)行排序。np.sort(a)np.sort(a,axis=0)-----------------------------------[[3,4,6,6,7],[[3,1,6,2,1],[2,4,6,7,9],[4,2,7,4,4],[2,3,5,7,7],[6,3,7,5,5],[1,1,4,5,7]][9,7,7,7,6]]percentile計(jì)算處于p%上的值。>r=np.abs(np.random.randn(100000))>np.percentile(r,[68.3,95.4,99.7])array([1.00029686,1.99473003,2.9614485])統(tǒng)計(jì)函數(shù)NumPy中常用的統(tǒng)計(jì)函數(shù)有:unique(),bicount(),histogram()。我們來(lái)一個(gè)個(gè)介紹。首先看unique():>np.random.seed(42)>a=np.random.randint(0,8,10)>np.unique(a)anp.unique(a)------------------------------------------------[6,3,4,6,2,7,4,4,6,1][1,2,3,4,6,7]unique有兩個(gè)參數(shù),return_index=True同時(shí)返回原始數(shù)組中的下標(biāo),return_inverse=True表示原始數(shù)據(jù)在新數(shù)組的下標(biāo)。>x,index=np.unique(a,return_index=True)]xindexa[index]------------------------------------------------------[1,2,3,4,6,7][9,4,1,2,0,5][1,2,3,4,6,7]統(tǒng)計(jì)函數(shù)>x,rindex=np.unique(a,return_inverse=True)rindexx[rindex]------------------------------------------------------------[4,2,3,4,1,5,3,3,4,0][6,3,4,6,2,7,4,4,6,1]bincount()對(duì)非負(fù)整數(shù)數(shù)組中的各個(gè)元素出現(xiàn)的次數(shù)進(jìn)行統(tǒng)計(jì),返回?cái)?shù)組中的第i個(gè)元素是整數(shù)i出現(xiàn)的次數(shù)。>a=np.array([6,3,4,6,2,7,4,4,6,1])>np.bincount(a)array([0,1,1,1,3,0,3,1])>x=np.array([0,1,2,2,1,1,0])>w=np.array([0.1,0.3,0.2,0.4,0.5,0.8,1.2])>np.bincount(x,w)array([1.3,1.6,0.6])統(tǒng)計(jì)函數(shù)histogram()對(duì)以為數(shù)組進(jìn)行直方圖統(tǒng)計(jì),其參數(shù)為:histogram(a,bins=10,range=None,weights=None)函數(shù)返回兩個(gè)一維數(shù)組,hist是每個(gè)區(qū)間的統(tǒng)計(jì)結(jié)果,bin_edges返回區(qū)間的邊界值。>a=np.random.rand(100)>np.histogram(a,bins=5,range=(0,1))(array([28,18,17,19,18]),array([0.,0.2,0.4,0.6,0.8,1.]))>np.histogram(a,bins=[0,0.4,0.8,1.0])(array([46,36,18]),array([0.,0.4,0.8,1.]))操作多維數(shù)組多維數(shù)組可以進(jìn)行連接,分段等多種操作。我們先來(lái)看vstack(),hstack(),column_stack()函數(shù)。>a=np.arange(3)>b=np.arange(10,13)>v=np.vstack((a,b))#按第1軸連接數(shù)組>h=np.hstack((a,b))#按第0軸連接數(shù)組>c=np.column_stack((a,b))#按列連接多個(gè)一維數(shù)組vhc------------------------------------------------[[0,1,2],[0,1,2,10,11,12][[0,10],[10,11,12]][1,11],[2,12]]操作多維數(shù)組split()函數(shù)進(jìn)行分段。>a=np.array([6,3,7,4,6,9,2,6,7,4,3,7])>b=np.array([1,3,6,9,10]>np.split(a,idx)#按元素位置進(jìn)行分段[array([6]),array([3,7]),array([4,6,9]),array([2,6,7]),array([4]),array([3,7])]>np.split(a,2)#按數(shù)組個(gè)數(shù)進(jìn)行分段[array([6,3,7,4,6,9]),array([2,6,7,4,3,7])]多項(xiàng)式函數(shù)多項(xiàng)式函數(shù)是整數(shù)的次冪與系數(shù)的乘積,如:f(x)=an(x^n)+an-1(x^(n-1))+…+a1(x)+a0NumPy中多項(xiàng)式函數(shù)可以用一維數(shù)組表示。a[0]為最高次,a[-1]為常數(shù)項(xiàng)。>a=np.array([1.0,0,-2,1])>p=np.poly1d(a)>printtype(p)<class'numpy.lib.polynomial.poly1d'>>p(np.linspace(0,1,5))array([1.,0.515625,0.125,-0.078125,0.])多項(xiàng)式函數(shù)可以進(jìn)行四則運(yùn)算,其中運(yùn)算的列表自動(dòng)化成多項(xiàng)式函數(shù)。多項(xiàng)式函數(shù)>p+[-2,1]poly1d([1.,0.,-4.,2.])>p*ppoly1d([1.,0.,-4.,2.,4.,-4.,1.])>p/[1,1]#分別為商和余(poly1d([1.,-1.,-1.]),poly1d([2.]))多項(xiàng)式也可以進(jìn)行積分和求導(dǎo)。>p.deriv()poly1d([3.,0.,-2.])>eg()poly1d([0.25,0.,-1.,1.,0.])多項(xiàng)式函數(shù)Roots可以求多項(xiàng)式的根。>r=np.roots(p)>rarray([-1.61803399,1.,0.61803399])polyfit()可以對(duì)數(shù)據(jù)進(jìn)行多項(xiàng)式擬合。x,y為數(shù)據(jù)點(diǎn),deg為多項(xiàng)式最高階數(shù)。>a=np.polyfit(x,y,deg)poly()返回多項(xiàng)式系數(shù)構(gòu)成的數(shù)組。>a=np.poly(x)49Python模塊-pandaspandaspandas

是基于NumPy 的一種工具,該工具是為了解決數(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)境的重要因素之一。50Python模塊-pandas基本數(shù)據(jù)結(jié)構(gòu)Series一維數(shù)據(jù)結(jié)構(gòu),包含行索引和數(shù)據(jù)兩個(gè)部分.DataFrame二維數(shù)據(jù)結(jié)構(gòu),包含帶索引的多列數(shù)據(jù),各列的數(shù)據(jù)類(lèi)型可能不同.51Python模塊-pandas數(shù)據(jù)索引df[5:10]通

過(guò)

.df[col_label]or

df.col_label選取列

.df.loc[row_label,

col_label]通過(guò)標(biāo)簽選取行/列.df.iloc[row_loc,

col_loc]通過(guò)位置(自然數(shù))選取行/列.52Python模塊-pandas數(shù)據(jù)合并pd.merge(left,

right)

類(lèi)數(shù)據(jù)庫(kù)的數(shù)據(jù)融合操作.參數(shù):how,融合方式,包括左連接、右連接、內(nèi)連接(默認(rèn))和外連接;on,連

接鍵;left_on,左鍵;right_on,右鍵;left_index,是否將left行索引作

為左鍵;right_index,是否將right行索引作為右鍵.53Python模塊-pandas數(shù)據(jù)融合pd.concat([df1,

df2])軸向連接多個(gè)DataFrame.54Python模塊-pandas文件讀寫(xiě)從?件中讀取數(shù)據(jù)(DataFrame)pd.read_csv()

|

從CSV文件讀取.pd.read_table()

|

從制表符分隔文件讀取,如TSV.pd.read_excel()|從Excel文件讀取.pd.read_sql()|從SQL表或數(shù)據(jù)庫(kù)讀取.pd.read_json()

|

從JSON格式的URL或文件讀取.pd.read_clipboard()

|

從剪切板讀取.將DataFrame寫(xiě)??件df.to_csv()|寫(xiě)入CSV文件.df.to_excel()|寫(xiě)入Excel文件.df.to_sql()

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論