



VIP免費下載
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python數據分析基礎與應用模塊電子活頁5-21重塑層次化索引【技能訓練5-21】重塑層次化索引【訓練要求】在JupyterNotebook開發環境中創建j5-21.ipynb,然后編寫代碼實現重塑層次化索引。【實施過程】1.使用stack()函數將數據的列索引轉換為行索引將具有單層索引的DataFrame對象重塑為具有兩層索引的Series對象,也就是將列索引轉換成內層行索引,代碼如下:importnumpyasnpimportpandasaspd#創建DataFrame對象data1=pd.DataFrame(np.arange(4).reshape((2,2)),index=pd.Index(['row1','row2'],name='rows'),columns=pd.Index(['col1','col2'],name='cols'))print(data1)#使用stack()函數改變data1的層次化索引result1=data1.stack()print('列索引轉換為內層行索引\n',result1)print('類型為:',type(result1))輸出結果:colscol1col2rowsrow101row223列索引轉換為內層行索引rowscolsrow1col10col21row2col12col23dtype:int32類型為:<class'pandas.core.series.Series'>從上述輸出結果可以看出,DataFrame對象已經被轉換為Series對象。2.使用unstack()函數將數據的行索引轉換為列索引(1)使用unstack()函數將重塑的Series對象轉換為DataFrame對象將前面示例中重塑的Series對象恢復原樣,即將其轉換為DataFrame對象,代碼如下:print('操作內層索引\n',result1.unstack())print('操作外層索引\n',result1.unstack(0))print('操作行索引\n',result1.unstack('rows'))輸出結果:操作內層索引colscol1col2rowsrow101row223操作外層索引rowsrow1row2colscol102col213操作行索引rowsrow1row2colscol102col213(2)使用unstack()函數將Series對象轉換為DataFrame對象代碼如下:#創建Series對象s1=pd.Series([0,1,2,3],index=['a','b','c','d'])s2=pd.Series([4,5,6],index=['c','d','e'])data2=pd.concat([s1,s2],keys=['one','two'])print(data2)#使用unstack()函數改變data2的層次化索引result2=data2.unstack()print('將數據的行索引轉換為列索引\n',result2)print('類型為:',type(result2))輸出結果:onea0b1c2d3twoc4d5e6dtype:int64將數據的行索引轉換為列索引abcdeone0.01.02.03.0NaNtwoNaNNaN4.05.06.0類型為:<class'pandas.core.frame.DataFrame'>(3)使用stack()函數將數據的列索引轉換為行索引,并刪除缺失值對應的行代碼如下:result3=data2.unstack().stack()print('刪除缺失值對應的行\n',result3)print('類型為:',type(result3))輸出結果:刪除缺失值對應的行onea0.0b1.0c2.0d3.0twoc4.0d5.0e6.0dtype:float64類型為:<class'pandas.core.series.Series'>(4)使用stack()函數將數據的列索引轉換為行索引,不刪除缺失值對應的行代碼如下:result4=data2.unstack().stack(dropna=False)print('不刪除缺失值對應的行\n',result4)輸出結果:不刪除缺失值對應的行onea0.0b1.0c2.0d3.0eNaNtwoaNaNbNaNc4.0d5.0e6.0dtype:float64(5)使用字典創建DataFrame對象,然后分別使用unstack()、stack()函數進行行索引與列索引的轉換代碼如下:df1=pd.DataFrame({'left':result1,'right':result1+5},columns=pd.Index(['left','right'],name='side'))print(df1)#使用unstack()、stack()函數result4=df1.unstack('rows')print('將數據的行索引轉換為列索引\n',result4)print('類型為:',type(result4))result5=result4.stack('side')print('將數據的列索引轉換為行索引\n',result5)print('類型為:',type(result5))輸出結果:sideleftrightrowscolsrow1col105col216row2col127col238將數據的行索引轉換為列索引sideleftrightrowsrow1row2row1row2colscol10257col21368類型為:<class'pandas.core.frame.DataFrame'>將數據的列索引轉換為行索引rows
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TD/T 1032-2011基本農田劃定技術規程
- TD/T 1031.6-2011土地復墾方案編制規程第6部分:建設項目
- LY/T 1852-2024植物新品種特異性、一致性、穩定性測試指南杜鵑花屬映山紅亞屬和羊躑躅亞屬
- JJF(煙草)4.2-2024煙草及煙草制品連續流動法測定常規化學成分測量不確定度評定指南第2部分:總植物堿
- 高級中學江灣城校區2025年中考語文一模試卷
- 考研復習-風景園林基礎考研試題附參考答案詳解(模擬題)
- 風景園林基礎考研資料試題及參考答案詳解(滿分必刷)
- 《風景園林招投標與概預算》試題A帶答案詳解(達標題)
- 2025年江西省高速公路投資集團有限責任公司招聘筆試備考題庫含答案詳解(典型題)
- 2025福建晉園發展集團有限責任公司權屬子公司招聘7人筆試備考題庫含答案詳解
- 電子煙質量管理手冊
- 影響力從語言開始學習通超星期末考試答案章節答案2024年
- 設備外協制作合同模板
- 走進創業學習通超星期末考試答案章節答案2024年
- 中海新房購房合同模板
- 2023-2024學年湖南省邵陽市高一下學期期末考試歷史試題(解析版)
- 多重耐藥感染的防控PDCA
- DB34T∕ 2317-2015 金屬非金屬地下礦山生產技術規程
- 用戶行為分析與金融產品設計
- 鎮靜催眠藥分類培訓課件
- 施工現場建筑垃圾減量化專項方案
評論
0/150
提交評論