pandas層次化索引
阿新 • • 發佈:2017-10-27
() 方法 code 對象 索引對象 最小 lis taf 無法
1. 創建多層行索引
1) 隱式構造
最常見的方法是給DataFrame構造函數的index參數傳遞兩個或更多的數組
- Series也可以創建多層索引
-
2) 顯示構造pd.MultiIndex
- 使用數組
-
- 使用tuple
-
使用product
最簡單,推薦使用
-
2. 多層列索引
-
3. 多層索引對象的索引與切片操作
1)Series的操作
【重要】對於Series來說,直接中括號[]與使用.loc()完全一樣,因此,推薦使用中括號索引和切片。
(1) 索引
(2) 切片
2)DataFrame的操作
(1) 可以直接使用列名稱來進行列索引
(2) 使用行索引需要用ix(),loc()等函數
【極其重要】推薦使用loc()函數
註意在對行索引的時候,若一級行索引還有多個,對二級行索引會遇到問題!
也就是說,無法直接對二級索引進行索引,必須讓二級索引變成一級索引後才能對其進行索引!
4. 索引的堆(stack)
stack()
unstack()
- 小技巧】使用stack()的時候,level等於哪一個,哪一個就消失,出現在行裏。
- 小技巧】使用unstack()的時候,level等於哪一個,哪一個就消失,出現在列裏。
5. 聚合操作
【註意】
-
需要指定axis
-
【小技巧】和unstack()相反,聚合的時候,axis等於哪一個,哪一個就保留。
所謂的聚合操作:平均數,方差,最大值,最小值……
-
pandas層次化索引