目录

索引与分层索引

索引

分层索引

分层索引的切片

数据重塑

数据合并

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——数据规整相关推荐

  1. Python数据分析—Pandas数据规整

    数据规整 一.索引 二.分层索引 三.数据合并 1.merge方法 2.join方法 3.concat方法 四.数据分组与聚合 一.索引 # 查看索引 df.index # 指定索引,但个数必须保持一 ...

  2. 利用Python数据分析:数据规整化(五)

    import pandas as pd from pandas import Series,DataFrame import numpy as np import re # 计算指标/哑变量(dumm ...

  3. 利用Python进行数据分析:数据规整(基于DataFrame)

    利用Python进行数据分析:数据规整 在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 文章目录 利用Python进行数据分析:数据 ...

  4. Python数据分析中数据预处理:编码将文字型数据转换为数值型

    [小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python数据分析中 数据预处理:编码 将文字型数据转换为数值型 选择题 对于以下pyth ...

  5. 视频教程-数据挖掘基础:零基础学Python数据分析-大数据

    数据挖掘基础:零基础学Python数据分析 辽宁师范大学教师,特聘教授,硕士生导师.大数据与商务智能实验室主任. 李洪磊 ¥198.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术 ...

  6. python逐笔输入数据_知到智慧树Python数据分析与数据可视化结课测验

    知到智慧树Python数据分析与数据可视化结课测验答案 更多相关问题 已知三角形三个顶点的坐标是A(-1,2,3),B(1,1,1),C(0,0,5),试证三角形ABC是直角三角形,并求角B-- Wh ...

  7. python集合中的元素不允许重复_Python语言中同一个集合中的元素不会重复,每个元素都是唯一的。-智慧树Python数据分析与数据可视化章节答案...

    Python数据分析与数据可视化:Python语言中同一个集合中的元素不会重复,每个元素都是唯一的.[?ж???] A:对 B:错 Python数据分析与数据可视化章节测试答案: 对 更多相关问题 智 ...

  8. Python数据分析——Matplotlib数据可视化基础(二)

    Python数据分析--Matplotlib数据可视化基础(二) 思维导图: 图形的绘制 认识要绘制的图形 基本绘图流程 pyplot基础图表函数 pyplot饼图的绘制 pie函数 matplotl ...

  9. python数据分析笔记——数据加载与整理

    Python数据分析--数据加载与整理 总第47篇 ▼ (本文框架) 数据加载 导入文本数据 1.导入文本格式数据(CSV)的方法: 方法一:使用pd.read_csv(),默认打开csv文件. 9. ...

最新文章

  1. 关于 Rocksdb 性能分析 需要知道的一些“小技巧“ -- perf_context的“内功” ,systemtap、perf、 ftrace的颜值
  2. 10年IT老兵给新人程序员的几点建议
  3. echart的关系图高亮_echarts鼠标覆盖高亮显示节点及关系名称详解
  4. 阿里对mysql的优化_阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结...
  5. ECMAScript 6规范总结(长文慎入)
  6. python在web可以开发吗_怎么用python进行web开发
  7. 差分约束系统 POJ 3169 Layout
  8. centos7安装samba服务,以及设置权限分配
  9. 在计算机中 ascii码是几位二进制编码,ASCII码采用多少位二进制编码
  10. 桌面计算机怎么覆盖文件,恢复被覆盖的文件_恢复被覆盖的桌面文件
  11. 挑战性题目DSCT101:硬币找换问题
  12. 验证集精度高于训练集精度的原因分析
  13. oracle数据比对md5,MD5SUM的妙用
  14. unity打开excel表格_unity创建编辑读取EXCEL文件表格数据游戏插件工具Uni-Excel 1.0
  15. 根据文件后缀名显示对应类型缩略图
  16. 程序的优化 文字的减法
  17. “狗屁不通文章生成器”项目登顶GitHub热榜~
  18. python安装math模块_python math模块
  19. Element-ui不显示表格数据问题
  20. 拆卸计算机主机的步骤是,组装电脑之intel CPU散热器的安装和拆卸图文教程

热门文章

  1. 解决Ubuntu16.04卡在开机画面
  2. C\C++开发的经典魔塔小游戏--(4)楼层控制,背景音乐,个人元素
  3. conda 安装第三方包
  4. 英文产品网站的搜索引擎推广
  5. 这些旅行必备APP,你知道几个?
  6. 卡莱特led显示屏调试教程_卡莱特5A接收卡调屏步骤.doc
  7. display、visibility和opactity的区别
  8. 使用低代码平台 - 危险的赌注
  9. Modbus通信模式有哪几种?各自的特点有哪些?
  10. ESP32-C3入门教程 环境篇⑤——Flash Download Tools 固件烧录工具的使用