(4)pandas 構建層次化索引

步驟一、環境準備

右擊桌面上選擇【Open in Terminal】 打開終端。
在彈出的終端中輸入【ipython】進入Python的解釋器中,如圖1所示。python

 

圖1 ipython解釋器

步驟二、導入所須要的包

導入實驗經常使用的python包。如圖2所示。
【import pandas as pd】pandas用來作數據處理。
【import numpy as np】numpy用來作高維度矩陣運算.
【import matplotlib.pyplot as plt】matplotlib用來作數據可視化。dom

 

圖2 導入所須要的包

步驟三、正式實驗

數據維度轉換,如圖3所示。
【df = pd.Series(np.random.randn(10),index=[[‘a’,’a’,’a’,’b’,’b’,’b’,’c’,’c’,’d’,’d’], [‘1’,’2’,’3’,’1’,’2’,’3’,’1’,’2’,’2’,’3’]])】生成一個有多層索引數據
【df】查看生成的數據
【df.unstack()】將數據處理爲高緯度數據
【df.unstack().stack()】將高緯度處理爲低緯度spa

數據獲取,如圖4所示。
【df】查看數據
【df[‘a’]】之外層索引的方式獲取數據
【df[:,’2’]】之內層索引的方式獲取數據排序

 

圖4 數據的獲取

DataFrame數據排序,如圖5所示。
【df2 = pd.DataFrame(np.random.randn(10,4),index=[[‘a’,’a’,’a’,’b’,’b’,’b’,’c’,’c’,’d’,’d’],[‘1’,’2’,’3’,’1’,’2’,’3’,’1’,’2’,’2’,’3’]],columns=[[‘A’,’A’,’B’,’B’],[‘1’,’2’,’1’,’2’]])】生成數據
【df2.index.names=[‘key1’,’key2’]】對行索引指定名稱
【df2.columns.names=[‘value1’,’value2’]】對列索引指定名稱
【df2】查看生成的數據
【df2.swaplevel(‘key1’,’key2’)】將兩個索引互換位置
【df2.sortlevel(0)】按key1列進行排序
【df2.sum(level=’key1’)】將key1進行求和索引

 

圖5 數據排序2

相關文章
相關標籤/搜索