层次化索引

层次化索引(hierarchical indexing)是pandas的一项重要功能, 它使你能在一个轴上拥有多个(两个以上)索引级别。

抽象点说,它使你能以低维度形式处理高维度数据。

先看个Series例子:

层次化索引

 

对于一个层次化索引的对象, 选取数据子集的操作很简单:

层次化索引

 

 层次化索引

 

 有时甚至还可以在“内层”中进行选取:

层次化索引

 

 根据层次化索引进行数据重塑

层次化索引在数据重塑和基于分组的操作(如透视表生成)中扮演着重要的角色。比如,这段数据可以通过其unstack

方法被重新安排到一个DataFrame中:

层次化索引

 

 unstack的逆运算是stack:

层次化索引

 

 层次化索引

 

 DataFrame的分层

 层次化索引

In [18]: frame = DataFrame(np.arange(12).reshape((4,3)), index=[list('aabb'), [1, 2, 1, 2]], columns= [['Ohio', 'Ohio', 'Colorado'], ['Green', 'Red', 'Green']])

In [19]: frame
Out[19]:
     Ohio     Colorado
    Green Red    Green
a 1     0   1        2
  2     3   4        5
b 1     6   7        8
  2     9  10       11

In [20]:
View Code

相关文章: