pandas 層級索引
05-28
pandas 層級索引
推薦閱讀:
來自專欄 數據烹飪
本文針對於數據清理中的層級索引內容,借鑒《Python數據科學手冊》整理而成,屬於筆記一類的文,侵刪。
層級索引,又稱為多級索引,配合多個有不同等級的一級索引一起使用,這樣就可以將高維數組轉換成類似一維Series和二維DataFrame對象的格式。
import pandas as pdimport numpy as np
一、多級索引Series
美國各州在兩個不同年份的數據。用一個Python元組來表示索引:
索引重置,並直接用第二個索引獲取2010年的全部數據,與Pandas的切片查詢方法一致:
unstack() 方法可以快速將一個多級索引的Series轉化為普通索引的DataFrame
stack() 方法實現相反的效果
多級索引每增加一級,就表示數據增加一維,利用這一特點就可以輕鬆表示任意維度的數據了
二、多級索引的創建方法
1、顯示的創建多級索引
可以用 pd.MultiIndex 中的類方法更加靈活地構建多級索引,比如:
- 用若干簡單數組組成的列表
- 包含多個索引值的元組
- 兩個索引的笛卡兒積
- 直接提供levels和labels
2、多級索引的等級名稱
在處理複雜的數據時,為等級設置名稱是管理多個索引值的好辦法。
3、多級索引列
三、 多級索引的取值和切片
可以通過對多個級別索引值獲取單個元素,也支持局部取值(即只取索引的某一個層級)
索引元組的方法不是很方便,容易出錯,下面的例子,更適合用IndexSlice對象
四、多級索引行列轉換
注意:如果MultiIndex不是有序的索引,那麼大多數切片操作都會失敗。
可以通過level參數設置轉換的索引層級:
五、多索引的數據累計方法
對於層級索引數據,可以設置參數level實現對數據子集的累計操作:
推薦閱讀:
※Pipeline語法支持,還是flowpython
※為什麼不推薦Selenium寫爬蟲
※最令人喜愛的9個Python深度學習庫
※你將在這學到python
※Python中包、模塊詳解