分层索引的一个重要特性是,您可以通过标识数据中的子组的“partial”标签来选择数据。部分选择在结果中“下降”层次索引的级别,完全类似于在一个常规的DataFrame中选择一个列:
关于如何创建多重所用的Series和DataFrame见文章**
pandas 难以置信的多重索引1——多重索引的构建(史上最全)
关于如何获取索引本身的值见文章:**pandas 难以置信的多重索引2——获取多重索引的值(史上最全)
假设你首先创建好了一个多重索引,如果还不会创建的同学,看完**pandas 难以置信的多重索引2——获取多重索引的值(史上最全),创建好的DataFrame如下:
我们先来试着按照"行"引用:
df['bar']
结果发现,并不是按照行来引用的,是按照“列”来引用的。那我们就要开始较真了!经过一番折腾后,
在这里插入图片描述
发现,通过df.loc[(行外层1,行内层1):(行外层2,行内层2), (列外层1,列内层1):(列外层2:列内层2)]
的形式能够获得想要的结果,记住他!
1. 重要的是要注意,当涉及到索引时,在panda中元组和列表的处理方式并不相同。虽然元组被解释为一个多层键,但列表用于指定多个键。换句话说,元组是水平的(遍历级别),列表是垂直的(扫描级别)。
2. 一般,df[]
优先会扫描列标签,如果列标签没有此名字,然后回来找行标签。
#########################################################
写在最后:
自己和朋友成立了一个工作室——图灵数据科学工作室(VX:DataUpward):
一是想和大家交个朋友;
二是想帮助朋友们跳过我们遇到的坑,尽快找到解决办法。
======================================================
工作室的运行也需要付出各种成本,“活下去”是我们的当务之急,如果大家有 :
- 数据分析(报告);
- 商业数据调研;
- 数据可视化展示;
- 数据爬虫;
- -数据模型开发;
- 机器学习算法挖掘
- …
也欢迎和我们工作室开展合作~