步骤1、环境准备

右击桌面上选择【Open in Terminal】 打开终端。
在弹出的终端中输入【ipython】进入Python的解释器中,如图1所示。

(4)pandas 构建层次化索引

 

图1 ipython解释器

步骤2、导入所需要的包

导入实验常用的python包。如图2所示。
【import pandas as pd】pandas用来做数据处理。
【import numpy as np】numpy用来做高维度矩阵运算.
【import matplotlib.pyplot as plt】matplotlib用来做数据可视化。

(4)pandas 构建层次化索引

 

图2 导入所需要的包

步骤3、正式实验

数据维度转换,如图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()】将高纬度处理为低纬度

(4)pandas 构建层次化索引(4)pandas 构建层次化索引

数据获取,如图4所示。
【df】查看数据
【df[‘a’]】以外层索引的方式获取数据
【df[:,’2’]】以内层索引的方式获取数据

(4)pandas 构建层次化索引

 

图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进行求和

(4)pandas 构建层次化索引(4)pandas 构建层次化索引(4)pandas 构建层次化索引(4)pandas 构建层次化索引

 

图5 数据排序2

(4)pandas 构建层次化索引

相关文章: