数据分析04_pandas层次化索引

在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析,应采用聚合、合并、重塑数据的方法进行处理。层次化索引(hierarchical indexing)是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。

1.多层行索引

  1. 隐式构造
    常见的方法是给DataFrame构造函数的index参数传递两个或更多的数组
    s = Series(data = [1,2,3,“a”], index = [[“a”,“a”,“b”,“b”],[“期中”,“期末”,“期中”,“期末”]])
  2. 显示构造pd.MultiIndex
    a.使用数组
    b.使用tuple
    c.使用product(最简单推荐使用)

2.多层列索引

3. 多层索引对象的索引与切片操作

1)Series的操作:对于Series来说,直接中括号[]与使用.loc()完全一样,因此,推荐使用中括号索引和切片。
a.索引

b.切片

2)DataFrame的操作
行:使用行索引需要用ix(),loc()等函数,推荐使用loc()函数
列:可以直接使用列名称来进行列索引
注意:在对行索引的时候,若一级行索引还有多个,对二级行索引会遇到问题!也就是说,无法直接对二级索引进行索引,必须让二级索引变成一级索引后才能对其进行索引!

4.索引的堆(stack)

stack(level = 1):把列索引变成行索引
unstack(level=0):把里面的行索引变成列索引
小技巧:
使用stack()的时候,level等于哪一个,哪一个就消失,出现在行里;
使用unstack()的时候,level等于哪一个,哪一个就消失,出现在列里

5.聚合操作

注意:
(1)需要指定axis
(2)和unstack()相反,聚合的时候,axis等于哪一个,哪一个就保留

data.std()标准差

发布了388 篇原创文章 · 获赞 71 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/ZZQHELLO2018/article/details/103945152