Python数据分析6——数据规整
目录
索引与分层索引
索引
分层索引
分层索引的切片
数据重塑
数据合并
merge()
join()
concat()
数据的分组与聚合
自定义聚合函数
数据透视表
索引与分层索引
索引
- 查看索引:df.index
- 指定索引:df.index = [,] 个数必须一致
- 重置索引:df.reset_index(drop=True) 无需个数一致
- 指定某一列作为index:df.set_index("M",drop=False)
- 返回index的唯一值:df.set_index("M").index.unique()
- df.reset_index():将分层索引层级移动到列中
分层索引
分层索引是Pandas一个重要的特性,允许在一个轴上拥有多个所以层级。
分层索引的切片
数据重塑
数据合并
数据合并也就是说将多个数据集拼接在一起,但是合并的方式主要分为:pandas.merge,pandas.concat,df.join。以下,我们来详细的介绍。
merge()
基于列进行关联,是最常用的一种方法。函数为
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,left_index=False, right_index=False)
- left:拼接左侧的DataFrame对象;
- right:拼接右侧的DataFrame对象;
- on:待关联的同名列名,存在于左右两个DataFrame对象中;
- how:连接方式,inner(默认),其他可选:outer、left、right ;
- left_on:左侧DataFarme中用作连接键的列名;
- right_on:右侧DataFarme中用作连接键的列;
- left_index:将左侧的行索引用作其连接键;
- right_index:将右侧的行索引用作其连接键;
join()
join方法是基于index连接dataframe。join连接方法有内连接,外连接,左连接和右连接,与merge一致。
concat()
另外一种常用的数据整合方法是concat,即我希望按照某种方式把两个规整的数据集进行拼接。拼接原型函数非常简单:
pd.concat(objs, axis=0, join='outer', keys=None)
- objs:带拼接的数据集,通常以列表的形式传入;
- join:可选inner、outer,含义同merge函数;
- keys:定义新的分组索引,用来区分传入的数据集;
数据的分组与聚合
数据包含在Series、DataFrame数据结构中,可以根据一个或多个键分离到各个组中。分组操作之后,一个函数就可以应用到各个组中,产生新的值。如下图则是简单的分组聚合过程。
- df.groupby('key') key为指定分组的列
import pandas as pd
import numpy as npdf1 = pd.DataFrame({"names":["菲菲","小可爱","mia","牛哥","老王","mia","狼人","药水哥","药水哥"],"classes":["一班","二班","三班"]*3,"grades":np.random.randint(60,100,size=9)}
)
df1df1.groupby(by="classes")["grades"].mean()
聚合函数如下:
自定义聚合函数
实现步骤:
- 自定义函数
- 分组后通过apply,agg或者aggregate进行聚合
def classes_ptp(x):return x.max()-x.min()df1.groupby(by="classes")["grades"].apply(classes_ptp)
df1.groupby(by="classes")["grades"].agg(classes_ptp)
df1.groupby(by="classes")["grades"].aggregate(classes_ptp)
数据透视表
- 一种可以对数据动态排布并且分类汇总的表格格式
- pivot_table() 方法
- 不常用
Python数据分析6——数据规整相关推荐
- Python数据分析—Pandas数据规整
数据规整 一.索引 二.分层索引 三.数据合并 1.merge方法 2.join方法 3.concat方法 四.数据分组与聚合 一.索引 # 查看索引 df.index # 指定索引,但个数必须保持一 ...
- 利用Python数据分析:数据规整化(五)
import pandas as pd from pandas import Series,DataFrame import numpy as np import re # 计算指标/哑变量(dumm ...
- 利用Python进行数据分析:数据规整(基于DataFrame)
利用Python进行数据分析:数据规整 在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 文章目录 利用Python进行数据分析:数据 ...
- Python数据分析中数据预处理:编码将文字型数据转换为数值型
[小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python数据分析中 数据预处理:编码 将文字型数据转换为数值型 选择题 对于以下pyth ...
- 视频教程-数据挖掘基础:零基础学Python数据分析-大数据
数据挖掘基础:零基础学Python数据分析 辽宁师范大学教师,特聘教授,硕士生导师.大数据与商务智能实验室主任. 李洪磊 ¥198.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术 ...
- python逐笔输入数据_知到智慧树Python数据分析与数据可视化结课测验
知到智慧树Python数据分析与数据可视化结课测验答案 更多相关问题 已知三角形三个顶点的坐标是A(-1,2,3),B(1,1,1),C(0,0,5),试证三角形ABC是直角三角形,并求角B-- Wh ...
- python集合中的元素不允许重复_Python语言中同一个集合中的元素不会重复,每个元素都是唯一的。-智慧树Python数据分析与数据可视化章节答案...
Python数据分析与数据可视化:Python语言中同一个集合中的元素不会重复,每个元素都是唯一的.[?ж???] A:对 B:错 Python数据分析与数据可视化章节测试答案: 对 更多相关问题 智 ...
- Python数据分析——Matplotlib数据可视化基础(二)
Python数据分析--Matplotlib数据可视化基础(二) 思维导图: 图形的绘制 认识要绘制的图形 基本绘图流程 pyplot基础图表函数 pyplot饼图的绘制 pie函数 matplotl ...
- python数据分析笔记——数据加载与整理
Python数据分析--数据加载与整理 总第47篇 ▼ (本文框架) 数据加载 导入文本数据 1.导入文本格式数据(CSV)的方法: 方法一:使用pd.read_csv(),默认打开csv文件. 9. ...
最新文章
- 关于 Rocksdb 性能分析 需要知道的一些“小技巧“ -- perf_context的“内功” ,systemtap、perf、 ftrace的颜值
- 10年IT老兵给新人程序员的几点建议
- echart的关系图高亮_echarts鼠标覆盖高亮显示节点及关系名称详解
- 阿里对mysql的优化_阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结...
- ECMAScript 6规范总结(长文慎入)
- python在web可以开发吗_怎么用python进行web开发
- 差分约束系统 POJ 3169 Layout
- centos7安装samba服务,以及设置权限分配
- 在计算机中 ascii码是几位二进制编码,ASCII码采用多少位二进制编码
- 桌面计算机怎么覆盖文件,恢复被覆盖的文件_恢复被覆盖的桌面文件
- 挑战性题目DSCT101:硬币找换问题
- 验证集精度高于训练集精度的原因分析
- oracle数据比对md5,MD5SUM的妙用
- unity打开excel表格_unity创建编辑读取EXCEL文件表格数据游戏插件工具Uni-Excel 1.0
- 根据文件后缀名显示对应类型缩略图
- 程序的优化 文字的减法
- “狗屁不通文章生成器”项目登顶GitHub热榜~
- python安装math模块_python math模块
- Element-ui不显示表格数据问题
- 拆卸计算机主机的步骤是,组装电脑之intel CPU散热器的安装和拆卸图文教程