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模块,多层索引的更多相关文章

  1. pandas 之 多层索引

    In many applications, data may be spread across a number of files or datasets or be arranged in a fo ...

  2. pandas:多层索引

    多层索引是指在行或者列轴上有两个及以上级别的索引,一般表示一个数据的几个分项. 1.创建多层索引 1.1通过分组产生多层索引 1.2由序列创建 1.3由元组创建 1.4可迭代对象的笛卡尔积 1.5将D ...

  3. pandas学习(创建多层索引、数据重塑与轴向旋转)

    pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...

  4. Py修行路 Pandas 模块基本用法

    pandas 安装方法:pip3 install pandas pandas是一个强大的Python数据分析的工具包,它是基于NumPy构建的模块. pandas的主要功能: 具备对其功能的数据结构D ...

  5. python重要的第三方库pandas模块常用函数解析之DataFrame

    pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...

  6. python之pandas模块

    一.pandas模块是基于Numpy模块的,pandas的主要数据结构是Series和DadaFrame,下面引入这样的约定: from pandas import Series,DataFrame ...

  7. Python 数据处理扩展包: numpy 和 pandas 模块介绍

    一.numpy模块 NumPy(Numeric Python)模块是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list str ...

  8. Pandas模块

    前言: 最近公司有数据分析的任务,如果使用Python做数据分析,那么对Pandas模块的学习是必不可少的: 本篇文章基于Pandas 0.20.0版本 话不多说社会你根哥!开干! pip insta ...

  9. Pandas模块:表计算与数据分析

    目录 Pandas之Series Pandas之DataFrame 一.pandas简单介绍 1.pandas是一个强大的Python数据分析的工具包.2.pandas是基于NumPy构建的. 3.p ...

随机推荐

  1. bzoj3894: 文理分科(还是那道最小割)

    3894: 文理分科 题目:传送门 感谢波老师没有来D飞我,让我做出了这题... 题解: 这题其实和我做的上一题(bzoj2132)很像,所以就不写题意了. 依然是那最小割... 这题给出了四个利益矩 ...

  2. JavaScript Patterns 2.4 For-in loop

    Principle Enumeration should be used to iterate over nonarray objects. It's important to use the met ...

  3. VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图,柱状图)

    1.前期准备 具体可见VS2010 使用TeeChart绘图控件 - 之一 控件和类的导入 1. 1 添加TeeChart控件,给控件添加变量m_TeeChart 添加TeeChart控件,右击控件, ...

  4. bzoj2730矿场搭建(Tarjan割点)

    2730: [HNOI2012]矿场搭建 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1771  Solved: 835[Submit][Statu ...

  5. codevs2503失恋28天......(背包dp)

    503 失恋28天-缝补礼物  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold   题目描述 Description 话说上回他给女孩送了n件礼物,由于是廉价的所以 ...

  6. golang——常用内建函数

    (1)func len(v Type) int 返回长度,取决于具体类型:字符串返回字节数:channel返回缓存元素的个数: (2)func cap(v Type) int 返回容量,取决于具体类型 ...

  7. 高德,百度,Google地图定位偏移以及坐标系转换

    一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系 一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的 ...

  8. 题解报告:hdu 1233 还是畅通工程

    Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...

  9. oracle数据库忘记用户名和密码莫着急

    刚安装完Oracle 11g后,登录的时候没有记住用户名和密码,解决方法:新建一个用户 第一步:以系统身份登录 cmd--->sqlplus 提示输入用户名,然后输入sqlplus/as sys ...

  10. OFDM同步算法之Schmidl算法

    Schmidl算法代码 算法原理 训练序列结构 T=[A A],其中A表示复伪随机序列PN,进行N/2点ifft变换得到的符号序列 \[M(d)=\frac{\left | P(d) \right | ...