Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 3-2.數(shù)據(jù)框_第1頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 3-2.數(shù)據(jù)框_第2頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 3-2.數(shù)據(jù)框_第3頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 3-2.數(shù)據(jù)框_第4頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 3-2.數(shù)據(jù)框_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章

數(shù)據(jù)處理包Pandas數(shù)據(jù)框(DataFrame)簡介、創(chuàng)建數(shù)據(jù)框?qū)傩耘c方法數(shù)據(jù)框訪問與切片數(shù)據(jù)框(DataFram)簡介第3章

Pandas中另一個重要的數(shù)據(jù)對象為數(shù)據(jù)框(DataFram),由多個序列按照相同的index組織在一起形成一個二維表。事實上,數(shù)據(jù)框的每一列為序列。數(shù)據(jù)框的屬性包括index、列名和值,均可以獲取出來并進(jìn)行操作。由于數(shù)據(jù)框是更為廣泛的一種數(shù)據(jù)組織形式,許多外部數(shù)據(jù)文件讀取到Python中大部分會采用數(shù)據(jù)框的形式進(jìn)行存取,比如數(shù)據(jù)庫、excel和TXT文本。同時數(shù)據(jù)框也提供了極為豐富的方法用于處理數(shù)據(jù)及完成計算任務(wù)。數(shù)據(jù)框創(chuàng)建第3章

基于字典,利用Pandas庫中的DataFrame函數(shù),可以創(chuàng)建數(shù)據(jù)框。其中字典的鍵轉(zhuǎn)化為列名,字典的值轉(zhuǎn)化為列值,而索引為默認(rèn)值,即從0開始從小到大排列。importpandasaspdimportnumpyasnpdata={'a':[2,2,np.nan,5,6],'b':[‘kl’,’kl’,’kl’,np.nan,’kl’],’c’:[4,6,5,np.nan,6],’d’:[7,9,np.nan,9,8]}df=pd.DataFrame(data)數(shù)據(jù)框?qū)傩缘?章

數(shù)據(jù)框?qū)ο缶哂腥齻€屬性,分別為列名、索引和值。以前面定義的df為例print('columns=',df.columns)print('-'*50)print('index=',list(df.index))print('-'*50)print('values=')print(df.values)輸出結(jié)果為:columns=Index(['a','b','c','d'],dtype='object')--------------------------------------------------index=[0,1,2,3,4]--------------------------------------------------values=[[2.0'kl'4.07.0][2.0'kl'6.09.0][nan'kl'5.0nan][5.0nannan9.0][6.0'kl'6.08.0]]數(shù)據(jù)框方法第3章dropna()通過dorpna()方法,可以去掉數(shù)據(jù)集中的空值(nan值),需要注意的是原來數(shù)據(jù)集不發(fā)生改變,新數(shù)據(jù)集需要重新定義。df1=df.dropna()數(shù)據(jù)框方法第3章

fillna()通過fillna()方法,可以對數(shù)據(jù)框中的空值(nan值)進(jìn)行填充。默認(rèn)情況下所有空值填充同一個元素值(數(shù)值或者字符串),也可以指定不同的列填充不同的值。df2=df.fillna(0)#所有空值元素填充0df3=df.fillna('Kl')#所有空值元素填充kldf4=df.fillna({'a':0,'b':'kl','c':0,'d':0})

#全部列填充df5=df.fillna({'a':0,'b':'kl'})#部分列填充數(shù)據(jù)框方法第3章

sort_values()可以利用sort_values()方法,指定列按值進(jìn)行排序importpandasaspddata={'a':[5,3,4,1,6],'b':['d','c','a','e','q'],'c':[4,6,5,5,6]}Df=pd.DataFrame(data)Df1=Df.sort_values('a',ascending=False)#默認(rèn)按升序,這里設(shè)置為降序數(shù)據(jù)框方法第3章sort_index()有時候需要按索引進(jìn)行排序,這時候可以使用sort_index()方法。Df2=Df1.sort_index(ascending=False)#默認(rèn)按升序,這里設(shè)置為降序數(shù)據(jù)框方法第3章head()通過head(N)方法,可以取數(shù)據(jù)集中的前N行,比如取前面定義的數(shù)據(jù)框Df2中的前4行。H4=Df2.head(4);數(shù)據(jù)框方法第3章

drop()利用dorp()方法,可以刪掉數(shù)據(jù)集中的指定列。比如刪除前面定義的H4中的b列。H41=H4.drop('b',axis=1)#需指定軸為1數(shù)據(jù)框方法第3章

join()利用join()方法,可以實現(xiàn)兩個數(shù)據(jù)框之間的水平連接Df3=pd.DataFrame({'d':[1,2,3,4,5]})Df4=Df.join(Df3)數(shù)據(jù)框方法第3章to_excel()通過to_excel()方法,可以將數(shù)據(jù)框?qū)С龅紼xcel文件中,Excel文件中。importpandasaspdlist1=['a','b','c','d','e','f']list2=[1,2,3,4,5,6]list3=[1.4,3.5,2,6,7,8]list4=[4,5,6,7,8,9]list5=['t',5,6,7,'k',9.6]D={'M1':list1,'M2':list2,'M3':list3,'M4':list4,'M5':list5}G={'M1':list2,'M2':list3,'M3':list4}D=pd.DataFrame(D)#將字典D轉(zhuǎn)化為數(shù)據(jù)框G=pd.DataFrame(G)#將字典G轉(zhuǎn)化為數(shù)據(jù)框D.to_excel('D.xlsx')G.to_excel('G.xlsx')數(shù)據(jù)框方法第3章

描述統(tǒng)計方法可以對數(shù)據(jù)框中各列求和、求平均值或者進(jìn)行描述性統(tǒng)計,以前面定義的Df4為例Dt=Df4.drop('b',axis=1)#Df4中刪除b列R1=Dt.sum()#各列求和R2=Dt.mean()#各列求平均值R3=Dt.describe()#各列做描述性統(tǒng)計數(shù)據(jù)框訪問與切片第3章

利用數(shù)據(jù)框中的iloc屬性進(jìn)行切片假設(shè)DF為待訪問或切片的數(shù)據(jù)框,則切片形式為:DF.iloc[①,②]。其中①為行下標(biāo)控制,②為列下標(biāo)控制,可通過數(shù)值列表來實現(xiàn),取所有的行或者列用“:”。同時,行控制還可以通過邏輯列表來實現(xiàn)。#ilocforpositionalindexingc3=df2.i

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論