分层索引的一个重要特性是,您可以通过标识数据中的子组的“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)
一是想和大家交个朋友
二是想帮助朋友们跳过我们遇到的坑,尽快找到解决办法。

======================================================
工作室的运行也需要付出各种成本,“活下去”是我们的当务之急,如果大家有 :

  • 数据分析(报告);
  • 商业数据调研;
  • 数据可视化展示;
  • 数据爬虫;
  • -数据模型开发;
  • 机器学习算法挖掘

  • 也欢迎和我们工作室开展合作~