Pandas学习——层级索引
pandas数据结构中最常用的是Series和DataFrame,它们分别用于处理一维数据和二维数据。但我们也经常遇到存储多维数据的需求,数据索引超过一两个键,这种情况下的数据超出了上面两种数据结构能够表示的范围,Pandas提供了Panel和Panel4D对象来解决三维数据和四维数据。而实践中,更直观的形式是通过层级索引,配合多个不同等级(level)的一级索引一起使用,这样就可以将高维数组转化为类似一维Series和二维DataFrame对象的形式。
创建层级索引的数据结构
我们先来看个通过层级索引将DataFrame数据转化为Series数据结构的例子:
import numpy as np
import pandas as pd
#创建一个DataFrame对象
data = [[33871648, 37253956],
[18976457, 19378102],
[20851820, 25145561]]
pop = pd.DataFrame(data,columns=[2000, 2010],index=['California', 'New York', 'Texas'])
pop
Out[30]:
2000 2010
California 33871648 37253956
New York 18976457 19378102
Texas 20851820 25145561
#通过层级索引创建一个与上面DataFrame等价的Series
data_1 = [33871648, 37253956, 18976457, 19378102, 20851820, 25145561]
#通过两个索引的笛卡尔积,创建MultiIndex对象
index_1 = pd.MultiIndex.from_product([['California', 'New York','Texas'],[2000,