一、行多层索引

  1.隐式创建

    在构造函数中给index、colunms等多个数组实现(datafarme与series都可以)

    

    df的多级索引创建方法类似:

    

    2.显式创建pd.MultiIndex

      其中.from_arrays为类似上面的参数,推荐使用简单的from_product函数(会自动进行交叉):

      

二、列多层索引

  列多层索引同理:

  

 三、多层索引操作与切片

  1.Series多层索引

    使用中括号和loc效果完全一样:

    

    切片,只切第一级索引,与之前一致,需要指定某些指定行时,可以通过iloc切片,最后一级索引来切片:

    

    2.dataframe的索引与切片

    直接切与series类似,只切最外层索引:(包含中文时,可能会有bug!属于Pandas的bug)

    

    使用Loc函数查找:

    

  更多多级索引的操作,参考https://www.jianshu.com/p/760cd4f46c8d

四、索引的stack堆——重排

  堆,字面意思就是摞起来的意思,调用stack就会将数据摞起来:

  

  在pandas里面,这个叫重排,参考https://blog.csdn.net/S_o_l_o_n/article/details/80917211

五、聚合操作

  1.sum()

    可以通过axis来控制行还是列,通过之前对轴的介绍,知道axis = 0的默认值是逐行:

    

  2.其他的聚合:max,min等同理:

    

数据分析入门——pandas之DataFrame多层/多级索引与聚合操作的更多相关文章

  1. 数据分析入门——pandas之DataFrame基本概念

    一.介绍 数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 可以看作是Series的二维拓展,但是df有行列索引:index.column 推荐参考:https://www. ...

  2. 数据分析入门——pandas之DataFrame数据丢失

    一.数据丢失分类 1)nd中分为两种:None和np.nan(NaN) 其中,None是python中的对象,是一个object:而nan是一个float类型 两种不同的类型,运算速度也是不同的 2) ...

  3. 数据分析入门——pandas之Series

    一.介绍 Pandas是一个开源的,BSD许可的库(基于numpy),为Python编程语言提供高性能,易于使用的数据结构和数据分析工具. 官方中文文档:https://www.pypandas.cn ...

  4. 数据分析入门——Pandas类库基础知识

    使用python进行数据分析时,经常会用Pandas类库处理数据,将数据转换成我们需要的格式.Pandas中的有两个数据结构和处理数据相关,分别是Series和DataFrame. Series Se ...

  5. 数据分析入门——pandas数据处理

    1,处理重复数据 使用duplicated检测重复的行,返回一个series,如果不是第一次出现,也就是有重复行的时候,则为True: 对应的,可以使用drop_duplicates来删除重复的行: ...

  6. 数据分析入门——pandas之数据合并

    主要分为:级联:pd.concat.pd.append 合并:pd.merge 一.numpy级联的回顾 详细参考numpy章节 https://www.cnblogs.com/jiangbei/p/ ...

  7. pandas之DataFrame创建、索引、切片等基础操作

    知识点 Series只有行索引,而DataFrame对象既有行索引,也有列索引 行索引,表明不同行,横向索引,叫index,0轴,axis=0 列索引,表明不同列,纵向索引,叫columns,1轴,a ...

  8. pandas中DataFrame重置设置索引

    在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取.插入等. 小笔总结了以下几种重置索引的方法: import pandas as pd import numpy as n ...

  9. 数据分析入门——pandas之合并函数merge

    merge有点类似SQL中的join,可以将不同数据集按照某些字段进行合并,得到新的数据集  1.参数一览表: 2.一对一连接:默认情况下,会按照相同字段的进行连接 例如有相同字段emp的两个df,m ...

随机推荐

  1. 树莓派安装系统+ssh登录

    一.准备工作: (1)树莓派3b (2)官网下载系统 (3)SD卡 (4)网线 (5)SDFormatter.exe (6)win32diskimager.exe (7)putty (7)笔记本 二. ...

  2. linux下给U盘分区&制作文件系统

    这几天读到TLCL-Storage Media一节,不由的想要折腾一下U盘,一直以来U盘只是被拿来暂存数据,其内部有没有文件系统,数据怎么管理,那是从来也不清楚,本文就依葫芦画瓢,折腾下手中的King ...

  3. sqlzoo易错题

    https://sqlzoo.net/wiki/SELECT_names 答案在:https://github.com/codyloyd/sqlzoo-solutions/blob/master/SQ ...

  4. CSS兼容性汇总

    http://www.jb51.net/css/469020.html CSS属性Hack 把属性hack分为 前缀属性hack和 后缀属性hack CSS属性Hack(前缀) 针对的浏览器 _col ...

  5. asp.net core 默认采用小驼峰命名和自定义模型验证

    services.AddMvc(options => { options.Filters.Add<ApiExceptionAttribute>(); }).SetCompatibil ...

  6. C++学习(2)—— 数据类型

    C++规定在创建一个变量或者常量的时候,必须指定出相应的数据类型,否则无法给变量分配内存 数据类型存在意义:给变量分配合适的内存空间 1. 整型 作用:整型变量表示的是整数类型的数据 C++中能够表示 ...

  7. TPA测试项目管理系统-测试用例管理

            Test Project Administrator(简称TPA)是经纬恒润自主研发的一款专业的测试项目管理工具,目前已广泛的应用于国内二十余个整车厂和零部件供应商.它可以管理测试过程 ...

  8. 安卓Termux安装ssh及jupyter编程

    软件名称:Termux ssh安装 安装openssh apt update apt install openssh 启动ssh服务 sshd 配置公钥私钥 将电脑的公钥(id_rsa.pub)放入/ ...

  9. NPM——npm|cnpm如何升级

    前言 手动更新了node.js版本后,想要升级下npm的版本 步骤 其实无论npm还是cnpm升级的命令都是一样的,除了需要指定包名. 升级npm $ npm install -g npm 查看npm ...

  10. es6 promise 所见

    一.Promise是什么? Promise 是异步编程的一种解决方案: 从语法上讲,promise是一个对象,从它可以获取异步操作的消息:从本意上讲,它是承诺,承诺它过一段时间会给你一个结果. pro ...