pandas允许你在一个轴向上有多个索引层级,提供了一种在更低纬度的形式中处理更高维度数据的方式
分层索引的创建
已有的dataframe数据: data.set_index(['key1','key2'])
data = pd.Series(np.random.randn(9),index=[[ ],[ ]])
s1=Series
s2=Series
s = pd.concat([s1,s2],keys=['one','two'])
分层索引的命名
data.index.names = ['key1','key2']
data.columns.names = ['key1','key2']
重排序和层级排序
data.swaplevel('key1'.'key2') #key1,key2 层级互换
data.sort_index(level=0/1) #0表示最外侧,1表示最内侧
data.swaplevel('key1','key2').sort_index(level=0)
使用DataFrame的列创建行索引
reset_index 和 set_index
data = data.set_index(['key1','key2']) #使用key1.key2作为data的行索引
按层级进行汇总统计
data.sum(level='index') #行层级统计 纵向计算
data.sum(level='key1',axis=1) #列层级统计 横向计算