欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Python数据科学手册】Pandas——六、层级索引

程序员文章站 2022-06-06 08:31:11
...

六、层级索引

对于高维的数据,可以通过将其纬度转换成不同层级的索引,从而实现将高维数组转换成类似一维Series或二维DataFrame对象的形式。

1.多级索引Series

如何用一维的Series表示二维数据

1)笨方法,将两个维度合并成一个元组索引

【Python数据科学手册】Pandas——六、层级索引
取值和切片方法同正常的Series
但是如果想取其中某一个维度的某元素数据,就比较麻烦
【Python数据科学手册】Pandas——六、层级索引

2).好办法:Pandas多级索引MultiIndex

【Python数据科学手册】Pandas——六、层级索引
切片方法与pandas方法一致

pop['California':'Texas'][:,2000]

3).维度与索引

维度与索引可以互相转换
索引–unstack()–>维度:默认将最后一层索引转换成维度

【Python数据科学手册】Pandas——六、层级索引
维度-----stack()–>索引:默认将维度转换成最后一层索引
【Python数据科学手册】Pandas——六、层级索引
研究多层索引的意义就是:
如果我们可以用含多级索引的一维 Series 数据表示二维数据,那么我们就可以用 Series 或 DataFrame 表示三维甚至更高维度的数据。
多级索引每增加一级,就表示数据增加一维,利用这一特点就可以轻松表示任意维度的数据了。
【Python数据科学手册】Pandas——六、层级索引

2.多级索引的创建方法

1).隐式地创建多层索引

一是直接将index参数设置二维及以上的索引数据
【Python数据科学手册】Pandas——六、层级索引
二是将元组作为键的字典传递给 Pandas, Pandas 也会默认转换为 MultiIndex
【Python数据科学手册】Pandas——六、层级索引

2)隐式地创建索引

a.创建方法
pd.MultiIndex.from_arrays()数组
【Python数据科学手册】Pandas——六、层级索引

pd.MultiIndex.from_tuples()元组
【Python数据科学手册】Pandas——六、层级索引

pd.MultiIndex.from_product()笛卡尔积
【Python数据科学手册】Pandas——六、层级索引
pd.MultiIndex(levels,labels)levels,labels参数
【Python数据科学手册】Pandas——六、层级索引b.为多层索引设置名称
【Python数据科学手册】Pandas——六、层级索引
c.多级列索引
【Python数据科学手册】Pandas——六、层级索引
切片
【Python数据科学手册】Pandas——六、层级索引

3.多级索引的取值与切换

1).Series多级索引

【Python数据科学手册】Pandas——六、层级索引
【Python数据科学手册】Pandas——六、层级索引
【Python数据科学手册】Pandas——六、层级索引

2).DataFrame多级索引

【Python数据科学手册】Pandas——六、层级索引
【Python数据科学手册】Pandas——六、层级索引

4.多级索引行列转换

1).有序的索引和无序的索引

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200825141853774.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDg0NDExNg==,size_16,color_FFFFFF,t_70#pic_center

2).索引stack与unstack

unstack(level=-1, fill_value=None)
stack(level=-1, dropna=True)

3).索引的设置与重置 reset_index

reset_index(level=None, drop=False, name=None, inplace=False)是将索引设置成正常的列
【Python数据科学手册】Pandas——六、层级索引

set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)是将列设置成索引
【Python数据科学手册】Pandas——六、层级索引

5.多级索引的数据累计方法

Pandas 自带的数据累计方法,比如 mean()、 sum() 和 max(),也适用于多级索引
【Python数据科学手册】Pandas——六、层级索引