Python數據分析基礎與應用電子活頁6-8實現Pandas數據分組與聚合運算_第1頁
Python數據分析基礎與應用電子活頁6-8實現Pandas數據分組與聚合運算_第2頁
Python數據分析基礎與應用電子活頁6-8實現Pandas數據分組與聚合運算_第3頁
全文預覽已結束

VIP免費下載

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

文檔簡介

Python數據分析基礎與應用模塊電子活頁6-8實現pandas數據分組與數據聚合【技能訓練6-18】實現pandas數據分組與數據聚合【訓練要求】在JupyterNotebook開發環境中創建j6-18.ipynb,然后編寫代碼實現pandas數據分組與數據聚合。【實施過程】1.pandas數據分組(1)創建DataFrame對象創建一個DataFrame對象,其中包含兩個小組學生的姓名、組別、性別、年齡和3門課程的成績。代碼如下:importnumpyasnpimportpandasaspddata1={'name':['安靜','路遠','溫暖','向北','陽光','白雪','夏天','云朵'],'group':[1,1,1,1,2,2,2,2],'sex':['女','男','男','女','男','女','男','女'],'age':[21,20,19,22,23,18,20,22],'score1':[71,80,89,92,65,84,78,92.5],'score2':[82,72,96,88,93.5,83,77,68.5],'score3':[86.0,82.5,95.0,90.5,73,86.5,67,94]}label1=['stu1','stu2','stu3','stu4','stu5','stu6','stu7','stu8']df1=pd.DataFrame(data1,index=label1)df1輸出結果:(2)創建groupby對象①根據一列分組。代碼如下:#根據組別進行分組group1=df1.groupby('group')②根據多列分組。代碼如下:#根據組別和性別進行分組group2=df1.groupby(['group','sex'])也可以指定多個列索引進行分組。(3)通過get_group()函數選擇組內的具體數據項代碼如下:#根據對應組的數據值,選擇一個組print(group1.get_group(1))輸出結果:(4)使用groups屬性查看分組結果①查看根據一列分組的結果。代碼如下:#查看分組print(df1.groupby('group').groups)輸出結果:{1:['stu1','stu2','stu3','stu4'],2:['stu5','stu6','stu7','stu8']}②查看根據多列分組的結果。代碼如下:#查看分組print(df1.groupby(['group','sex']).groups)輸出結果:{(1,'女'):['stu1','stu4'],(1,'男'):['stu2','stu3'],(2,'女'):['stu6','stu8'],(2,'男'):['stu5','stu7']}(5)遍歷分組數據使用for循環遍歷分組數據。代碼如下:forkey,nameingroup1:#其中key代表分組后字典的鍵,也就是groupprint(key)#各組對應的數據print(name)輸出結果:1namegroupsexagescore1score2score3stu1安靜1女2171.082.086.0stu2路遠1男2080.072.082.5stu3溫暖1男1989.096.095.0stu4向北1女2292.088.090.52namegroupsexagescore1score2score3stu5陽光2男2365.093.573.0stu6白雪2女1884.083.086.5stu7夏天2男2078.077.067.0stu8云朵2女2292.568.594.0groupby對象的組名與group列中的元素一一對應。2.pandas數據聚合(1)應用一個聚合函數求平均值代碼如下:#應用一個聚合函數求平均值group1['score1'].agg(np.mean)輸出結果:group183.000279.875Name:score1,dtype:float64上述代碼中把score1作為分組鍵,將DataFrame對象拆分為1、2兩個小組,然后調用mean()函數,使其分別作用于1、2兩組中,計算每組的平均值,最后將計算結

溫馨提示

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

評論

0/150

提交評論