1. 程式人生 > >pandas層次化索引

pandas層次化索引

() 方法 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層次化索引