码迷,mamicode.com
首页 > 其他好文 > 详细

8 pandas模块,多层索引

时间:2018-05-25 11:12:12      阅读:711      评论:0      收藏:0      [点我收藏+]

标签:dex   frame   特殊   重要   index   截图   没有   掌握   操作   

 
1 创建多层索引
    1)隐式构造
        最常见的方法是给DataFrame构造函数的index参数传递两个或更多的数组
 
        · Series也可以创建多层索引
技术分享图片

技术分享图片

 

技术分享图片
技术分享图片
            一般情况下,两层索引就够用了
 
    2)显式构造 pd.MultiIndex
           · 使用数组
技术分享图片
 技术分享图片

 

            · 使用tuple
技术分享图片

 

技术分享图片
            · 使用product     最简单,推荐使用
 技术分享图片

 

技术分享图片
 
2 对DataFrame列同样可以设置多层索引
技术分享图片
 技术分享图片

 

 
============================
练习8:
    1 创建一个DataFrame,表示张三、李四期中、期末各科成绩。
 
============================
 
3 多层索引对象的索引与切片操作
 
    1)Series的操作
        【重要】对于Series来说,直接中括号[]与使用.loc()完全一样,因此,推荐使用中括号索引和切片。
        (1)索引
技术分享图片

技术分享图片

技术分享图片

 

技术分享图片
技术分享图片
技术分享图片
    #第一个参数相当于多层索引的第一维,第二个参数就是第二维了
 技术分享图片

 

技术分享图片
    #把两个参数写在一起,会将整体作为一个参数,就把整体中的所有的参数都作为一维参数,能查到的就返回,查不到的就不返回,一维中没有期中,所以只返回了张三的查询结果,看看那下面这张截图就知道怎么回事了。
技术分享图片
 技术分享图片

 

        (2)切片
技术分享图片
技术分享图片
 技术分享图片

技术分享图片

 

    2)DataFrame的操作
        (1)可以直接使用列名来进行索引
技术分享图片
技术分享图片
技术分享图片
 技术分享图片

技术分享图片

技术分享图片

 

        (2)使用行索引需要用ix(),loc()等函数
 技术分享图片

技术分享图片

 

技术分享图片
技术分享图片
 
 
        【及其重要】推荐使用loc()函数
 
        注意在对行索引的时候,若一级行索引还有多个,对二级行索引会遇到问题!也就是说,无法直接对二级索引进行索引,必须让二级索引变成一级索引后才能对其进行索引!
 技术分享图片

 

技术分享图片
            同时对一二级索引进行检索
技术分享图片
技术分享图片
 技术分享图片

技术分享图片

 

===============================
练习:
    1 分析比较Series和DataFrame各种索引的方式,熟练掌握.loc()方法
    2 假设张三再一次在其中考试的时候因为特殊原因放弃Python考试,如何实现
===============================
 
4 索引的堆(先入后出)(stack)
    
    · stack()
    · unstack()
 
    【小技巧】使用stack()的时候,level等于哪一个,哪一个就消失,出现在行里。
技术分享图片
技术分享图片
技术分享图片
技术分享图片
 技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

 
    【小技巧】使用unstack()的时候,level等于哪一个,哪一个就消失,出现在列里。
技术分享图片
 技术分享图片

技术分享图片

 

技术分享图片
 
==========================================
练习:
    1,使用unstack()将ddd变成两行,分别为期中期末
    2,使用unstack()将ddd变成四行,分别为四个科目
==========================================
 
5 聚合操作
【注意】
    · 需要指定axis
    · 【小技巧】和unstack()相反,聚合的时候,axis等于哪一个,哪一个就保留。
 
    所谓的聚合操作:平均数,方差,最大值,最小值 ......
 技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

技术分享图片
 
技术分享图片
 
技术分享图片
技术分享图片
 
技术分享图片
 
 
=======================================
练习:
    1 计算各个科目中期末平均成绩
技术分享图片
 技术分享图片

 

    2 计算各个科目张三李四的最高分
 
技术分享图片
 技术分享图片

8 pandas模块,多层索引

标签:dex   frame   特殊   重要   index   截图   没有   掌握   操作   

原文地址:https://www.cnblogs.com/avention/p/9086539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!