数据分析入门——pandas之DataFrame多层/多级索引与聚合操作
一、行多层索引
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多层/多级索引与聚合操作的更多相关文章
- 数据分析入门——pandas之DataFrame基本概念
一.介绍 数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 可以看作是Series的二维拓展,但是df有行列索引:index.column 推荐参考:https://www. ...
- 数据分析入门——pandas之DataFrame数据丢失
一.数据丢失分类 1)nd中分为两种:None和np.nan(NaN) 其中,None是python中的对象,是一个object:而nan是一个float类型 两种不同的类型,运算速度也是不同的 2) ...
- 数据分析入门——pandas之Series
一.介绍 Pandas是一个开源的,BSD许可的库(基于numpy),为Python编程语言提供高性能,易于使用的数据结构和数据分析工具. 官方中文文档:https://www.pypandas.cn ...
- 数据分析入门——Pandas类库基础知识
使用python进行数据分析时,经常会用Pandas类库处理数据,将数据转换成我们需要的格式.Pandas中的有两个数据结构和处理数据相关,分别是Series和DataFrame. Series Se ...
- 数据分析入门——pandas数据处理
1,处理重复数据 使用duplicated检测重复的行,返回一个series,如果不是第一次出现,也就是有重复行的时候,则为True: 对应的,可以使用drop_duplicates来删除重复的行: ...
- 数据分析入门——pandas之数据合并
主要分为:级联:pd.concat.pd.append 合并:pd.merge 一.numpy级联的回顾 详细参考numpy章节 https://www.cnblogs.com/jiangbei/p/ ...
- pandas之DataFrame创建、索引、切片等基础操作
知识点 Series只有行索引,而DataFrame对象既有行索引,也有列索引 行索引,表明不同行,横向索引,叫index,0轴,axis=0 列索引,表明不同列,纵向索引,叫columns,1轴,a ...
- pandas中DataFrame重置设置索引
在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取.插入等. 小笔总结了以下几种重置索引的方法: import pandas as pd import numpy as n ...
- 数据分析入门——pandas之合并函数merge
merge有点类似SQL中的join,可以将不同数据集按照某些字段进行合并,得到新的数据集 1.参数一览表: 2.一对一连接:默认情况下,会按照相同字段的进行连接 例如有相同字段emp的两个df,m ...
随机推荐
- 18道kafka高频面试题哪些你还不会?(含答案和思维导图)
前言 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处 ...
- C#锁对象代码
private static readonly object SequenceLock = new object(); private static readonly object SequenceL ...
- moviepy草码
第一下. # coding=utf-8 from moviepy.editor import * from moviepy.video.tools.subtitles import Subtitles ...
- 移动平台前端开发总结(ios,Android)
首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content="width=device-width; ...
- Hibernate中Java对象的生命周期
一个对象的出生源于我们的一个new操作,当我们使用new语句创建一个对象,这个对象的生命周期就开始了,当我们不在有任何引用变量引用它,这个对象就的生命就此结束,它占用的内存就可以被JVM的垃圾回收器回 ...
- Linux中在vim/vi模式下对文本的查找和替换
查找: 1.vim filename 进入一般模式下 2.查找和替换方法 /word 向下查找word 的字符串 例如 /chengtingting 向下查找字符chengtingt ...
- Postgresql operator does not exist: numeric = character varying
)),series_name from svcm_t_series_res: 原来series_id是numeric型,现在转换为varchar(64):
- 2019.11.30 Mysql查询知识
不等于:<> 判断为空的条件:null和空格(空字符串) 判断是否为null:xxxx is not null / xxxx is null 判断null: SE ...
- WinDbg扩展
WinDbg的扩展,也可以叫插件.它用于实现针对特定调试目标的调试功能,用于扩展某一方面的调试功能.扩展的实现是通过扩展模块(DLL)实现的.Windbg本身已经包含了很多扩展命令,这些扩展为这Win ...
- js改变this指向
js中修改this的指向 方法整理 call,apply,bind 以上的三哥方法都是用来改变js中this的指向 call 使用方法:fun.call(thisArg[,arg1[, arg2[, ...