pandas层次化索引
Posted 你好,小帝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas层次化索引相关的知识,希望对你有一定的参考价值。
1. 创建多层行索引
1) 隐式构造
最常见的方法是给DataFrame构造函数的index参数传递两个或更多的数组
- Series也可以创建多层索引
-
2) 显示构造pd.MultiIndex
- 使用数组
-
- 使用tuple
-
使用product
最简单,推荐使用
-
2. 多层列索引
-
3. 多层索引对象的索引与切片操作
1)Series的操作
【重要】对于Series来说,直接中括号[]与使用.loc()完全一样,因此,推荐使用中括号索引和切片。
(1) 索引
(2) 切片
2)DataFrame的操作
(1) 可以直接使用列名称来进行列索引
(2) 使用行索引需要用ix(),loc()等函数
【极其重要】推荐使用loc()函数
注意在对行索引的时候,若一级行索引还有多个,对二级行索引会遇到问题!
也就是说,无法直接对二级索引进行索引,必须让二级索引变成一级索引后才能对其进行索引!
4. 索引的堆(stack)
stack()
unstack()
- 小技巧】使用stack()的时候,level等于哪一个,哪一个就消失,出现在行里。
- 小技巧】使用unstack()的时候,level等于哪一个,哪一个就消失,出现在列里。
5. 聚合操作
【注意】
-
需要指定axis
-
【小技巧】和unstack()相反,聚合的时候,axis等于哪一个,哪一个就保留。
所谓的聚合操作:平均数,方差,最大值,最小值……
-
以上是关于pandas层次化索引的主要内容,如果未能解决你的问题,请参考以下文章