文章目录

  • 获取数据
  • Series的分层索引MultiIndex
  • Series有多层索引怎样筛选数据?
  • DataFrame的多层索引MultiIndex
  • DataFrame有多层索引怎样筛选数据?

  在上一小节Pandas系列(十三)实现groupby分组统计中可以实现多个key进行聚合,而这就是分层索引。

  使用这种在一个维度上拥有多个索引的层级,可以表达更高维度数据的形式。能够实现更高效的数据筛选。

获取数据

Series的分层索引MultiIndex

  使用之前的多key索引,得到如下结果:

  可以看到公司这一列下有一些空白,空白的意思是使用上面的值。他的index是由一个元组组成的list。

  对于这种只有两级的series,可以使用方法unstack将二级索引变成列:

  reset_index()方法可以将索引之后的结果转成一个dataframe

Series有多层索引怎样筛选数据?

  对于多层索引的取值,可以采用元组的形式:

  如上例所示:如果想直接筛选第二级的索引,就可以将第一级设置为

DataFrame的多层索引MultiIndex

  对于DataFrame格式的数据,可以采用set_index()方法,将DataFrameindex设置为多层索引:

  它的index也是MultiIndex的,里面是一个元组,与Series类似。如果对Index进行排序的话,直接调用sort_index方法就可以实现:

DataFrame有多层索引怎样筛选数据?

  这里要区分多层索引,和多个key索引:

  • 元组(key1,key2)代表筛选多层索引,其中key1是索引第一级,key2是第二级,比如key1=JD, key2=2019-10-02
  • 列表[key1,key2]代表同一层的多个KEY,其中key1key2是并列的同级索引,比如key1=JD, key2=BIDU
  1. 选中二级索引取不同的列

  1. 列表取不同的key

  1. 元组和列表混合索引

  1. 筛选这一索引的所有内容

  利用slice(None)可以筛选这一索引的所有内容:

Pandas系列(十三)分层索引MultiIndex相关推荐

  1. pandas分层索引(层级索引、MultiIndex)的创建、取值、切片、统计计算以及普通索引和层级索引的转换方法

    pandas分层索引(层级索引.MultiIndex)的创建.取值.切片.统计计算以及普通索引和层级索引的转换方法 @TOC 多层索引的Series 层级索引的创建 层级索引(multi index) ...

  2. pandas mysql index_Pandas从入门到精通(3)- Pandas多级索引MultiIndex

    首先了解一下什么是多级索引,以及它的作用,为什么要有这个玩意. 多级索引也称为层次化索引(hierarchical indexing),是指数据在一个轴上(行或者列)拥有多个(两个以上)索引级别.之所 ...

  3. 【Python】快速认识Pandas的10大索引

    公众号:尤而小屋 作者:Peter 编辑:Peter 今天给大家带来一篇关于Pandas索引的文章:10种你必须掌握的Pandas索引. 索引在我们的日常生活中其实是很常见的,就像: 一本书有自己的目 ...

  4. Pandas对象的层次化索引——【from_tuples()、from_arrays()、from_product()、swaplevel()、sort_index()、sort_values()】

    文章目录 层次化索引的概念 层次化索引的创建 使用嵌套列表的方式构造层次化索引对象 Series对象 DataFrame对象 通过MultiIndex类的方法构建层次化索引 通过from_tuples ...

  5. 数据科学 IPython 笔记本 7.8 分层索引

    7.8 分层索引 原文:Hierarchical Indexing 译者:飞龙 协议:CC BY-NC-SA 4.0 本节是<Python 数据科学手册>(Python Data Scie ...

  6. Python数据分析学习系列 十三 Python建模库介绍

    Python数据分析学习系列 十三 Python建模库介绍 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下载 ...

  7. pandas重新设置列索引_python数据分析包Pandas(一)

    pandas是一个python包,提供快速,灵活和富有表现力的数据结构,旨在使"关系"或"标记"数据的使用既简单又直观. pandas的两个主要数据结构Seri ...

  8. Cris 的 Python 数据分析笔记 05:Pandas 数据读取,索引,切片,计算,列整合,过滤,最值

    Pandas 数据读取,索引,切片,计算,列整合,过滤,最值 文章目录 Pandas 数据读取,索引,切片,计算,列整合,过滤,最值 1. read_csv 函数 2. DataFrame 数据结构的 ...

  9. 一起学Pandas系列基础篇---loc和iloc

    一起学Pandas系列基础篇-loc和iloc 一起学Pandas系列基础篇---loc和iloc 一起学Pandas系列基础篇---loc和iloc 本篇学习内容介绍 一.loc 1. 选择索引为0 ...

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

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

最新文章

  1. centos 编译 mysql_centos 编译安装mysql
  2. [剑指offer]面试题22:栈的压入、弹出序列
  3. Python自动化办公——xlrd、xlwt读写Excel
  4. 对new int[]()的理解(转载)
  5. go 语言 php并发,go 语言并发
  6. Android 自动化测试框架简介
  7. C Tricks(四)—— 从数组中随机选择一个元素
  8. 简单原生js代码实现下拉菜单
  9. Android开发技巧 (四) —— 多窗口模式
  10. android ibeacon sdk,如何通过Android上的SDK更改iBeacon参数(UUID,Major,Minor,TxPower)的值...
  11. [ERROR] [MY-010457][Server]--initialize specified but....
  12. Android 11 wifi adb 连接错误 “Unable to start pairing client.“
  13. 百度文库随便下载,不借用任何插件
  14. java打印ascii码_JAVA实现打印ascii码表代码
  15. MATLAB识别实验,Matlab在图像处理与目标识别方面的应用实验
  16. Nginx介绍和使用
  17. 驱动专题:源码编写 17 dm9000网卡设备驱动
  18. 2012年百度实习生招聘——java开发
  19. bz2 — bzip2 压缩
  20. 网管随笔04--【MADC的另类安装与SQL的完全卸载】

热门文章

  1. CSDN开博一周年--总结、感想和未来规划
  2. BCB Victor 串口 VCL 控件,YbCommDevice1通过单片机接收多字节字符串
  3. C#中virtual与abstract的区别
  4. BGP(边界网关协议)
  5. Linux PXE详解
  6. Linux(CentOS7)虚拟机安装详解
  7. IPv6邻居状态与邻居检测机制
  8. 集成学习之Adaboost算法
  9. JAVA与C当中基本数据类型和基本运算符的区别
  10. 加速Webpack-缩小文件搜索范围