數(shù)據(jù)轉(zhuǎn)換 全國獲獎(jiǎng)_第1頁
數(shù)據(jù)轉(zhuǎn)換 全國獲獎(jiǎng)_第2頁
數(shù)據(jù)轉(zhuǎn)換 全國獲獎(jiǎng)_第3頁
數(shù)據(jù)轉(zhuǎn)換 全國獲獎(jiǎng)_第4頁
數(shù)據(jù)轉(zhuǎn)換 全國獲獎(jiǎng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)轉(zhuǎn)換教師:亢華愛北京信息職業(yè)技術(shù)學(xué)院商務(wù)數(shù)據(jù)分析與應(yīng)用專業(yè)教學(xué)資源庫目錄Contents數(shù)據(jù)轉(zhuǎn)換1PART數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換語法格式transform(func,*args,**kwargs)上述方法中只有一個(gè)func參數(shù),表示操作Pandas對(duì)象的函數(shù)。transform()方法返回的結(jié)果有兩種:一種是可以廣播的標(biāo)量值(np.mean);另一種可以是與分組大小相同的結(jié)果數(shù)組使用agg()方法進(jìn)行聚合運(yùn)算返回的數(shù)據(jù)集的形狀(shape)與被分組數(shù)據(jù)集的形狀是不同的保持與原數(shù)據(jù)集形狀相同通過transfrom()方法實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換通過transfrom()方法操作分組時(shí),會(huì)把func()函數(shù)應(yīng)用到各個(gè)分組中,將結(jié)果放在適當(dāng)?shù)奈恢蒙霞僭O(shè)現(xiàn)在有一個(gè)5行6列的表格,從左邊數(shù)前5列的數(shù)據(jù)都是數(shù)值,而最后一列的數(shù)據(jù)是字符串,具體如圖所示:

001234A

112345A

267s910B

31011121314B

434453Babcdekey表格結(jié)構(gòu)示例數(shù)據(jù)轉(zhuǎn)換按照表格的key列進(jìn)行分組,可以將表格劃分為A、B兩組,之后通過transform()方法對(duì)這兩組執(zhí)行求平均值的操作

001234A

112345A

267s910B

31011121314B

434453Babcdekey數(shù)據(jù)轉(zhuǎn)換創(chuàng)建一個(gè)與表格結(jié)構(gòu)相同的DataFrame對(duì)象,代碼如下:In[24]:importpandasaspddf=pd.DataFrame({'a':[0,1,6,10,3],'b':[1,2,7,11,4],'c':[2,3,8,12,4],'d':[3,4,9,13,5],'e':[4,5,10,14,3]'key':['A','A','B','B''B']})dfOut[24]:abedekey0 0 1 2 3 4 A1 1 2 3 4 5 A2 6 7 8 9 10 B3 10 11 12 13 14 B4 3 4 4 5 3 B上述示例中,創(chuàng)建了一個(gè)5行6列的DataFrame對(duì)象df,其中,df對(duì)象的key列中的數(shù)據(jù)都是字符串?dāng)?shù)據(jù)轉(zhuǎn)換以key列進(jìn)行分組,可以將df對(duì)象拆分成A、B兩組,將mean()方法應(yīng)用到每個(gè)分組中,計(jì)算每個(gè)分組中每列的平均值,具體代碼如下:In[25]:data_group=df.groupby('key').transform('mean')In[26]:data_groupOut[26]:a b cde0 0.500000 1.500000 2.5 3.5 4.51 0.500000 1.500000 2.5 3.5 4.52 6.333333 7.333333 8.0 9.0 9.03 6.333333 7.333333 8.0 9.0 9.04 6.333333 7.333333 8.0 9.0 9.0數(shù)據(jù)轉(zhuǎn)換In[25]:data_group=df.groupby('key').transform('mean')In[26]:data_groupOut[26]:a b cde0 0.500000 1.500000 2.5 3.5 4.51 0.500000 1.500000 2.5 3.5 4.52 6.333333 7.333333 8.0 9.0 9.03 6.333333 7.333333 8.0 9.0 9.04 6.333333 7.333333 8.0 9.0 9.0從輸出結(jié)果可以看出,每列的數(shù)據(jù)是各分組求得的平均數(shù)。以A組為例,在A組中a列原來的數(shù)據(jù)0與1的均值為0.5(0.5為一個(gè)標(biāo)量值),這個(gè)均值在A組的a列數(shù)據(jù)上進(jìn)行了廣播,使得所有A組a列的數(shù)據(jù)都變成了0.5。數(shù)據(jù)轉(zhuǎn)換上述示例中,原始數(shù)據(jù)的列數(shù)與最終結(jié)果的列數(shù)是不一樣的。假設(shè)現(xiàn)在有另外一個(gè)5行4列的表格,該表格中每列的數(shù)據(jù)都是數(shù)值類型的,如圖所示:

0

2

4

9

3

1

3

2

7

4

2

3

3

0

8

3

4

6

7

6

4

2

6

8

10ABCD如果希望表格進(jìn)行轉(zhuǎn)換后,返回具有相同形狀的結(jié)果,那么可以創(chuàng)建一個(gè)Series對(duì)象,該對(duì)象的長度與表格中的行數(shù)是相同的,按照這個(gè)Series對(duì)象進(jìn)行分組,便可以得到一個(gè)形狀相同的對(duì)象數(shù)據(jù)轉(zhuǎn)換In[27]:importpandasaspddf=pd.DataFrame({'A':[2,3,3,4,2],'B':[4,2,3,6,6],'C':[9,7,0,7,8],'D':[3,4,8,6,10]})dfOut[27]: A B C D0 2 4 9 31 3 2 7 423 3 0 83 4 6 7 64 2 6 8 10創(chuàng)建與表格結(jié)構(gòu)相同的DataFrame對(duì)象,代碼如下:數(shù)據(jù)轉(zhuǎn)換創(chuàng)建一個(gè)列表key,key的長度需要與df對(duì)象的行數(shù)是一樣的,我們把key當(dāng)做分組鍵,將df對(duì)象按照key列表進(jìn)行分組,然后同樣對(duì)每個(gè)分組執(zhí)行求平均值的操作,具體代碼如下:In[28]:#以key為分組依據(jù),對(duì)df對(duì)象進(jìn)行分組key=['one','one','two','two','two']df.groupby(key).transform('mean')Out[28]: A B C D0 2.5 3 8 3.51 2.5 3 8 3.52 3.0 5 5 8.03 3.0 5 5 8.04 3.0558.0數(shù)據(jù)轉(zhuǎn)換在進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),使用內(nèi)置方法與自定義函數(shù)的方式是一樣的只需要將定義好的函數(shù)名稱作為func

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論