標籤:

pandas 層級索引

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中包、模塊詳解

TAG:Python | 數學 |