继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第4天 数据探索工具——Pandas

小魏同学嘻嘻
关注TA
已关注
手记 22
粉丝 1
获赞 1

课程名称:构建数据分析工程师能力模型,实战八大企业级项目
课程章节:2-5 数据探索工具-Pandas
课程讲师:fish

课程内容:
Pandas的功能概述:

  • Pandas是构造于Numpy基础之上,兼具Numpy高性能的数组计算功能以及电子表格和关系型数据的灵活处理能力。
  • Pandas提供了复杂精细的索引功能,可以更为便捷的完成索引、切片、组合以及选取数字子集等数据处理的操作。
  • Pandas包含了Services序列和DataFrame(数据框或数据帧)两种最为常用的数据结构类型,使得Python进行数据处理变得非常快速和简单。

Pandas最核心的结构就是对DataFrame的处理。
DataFrame结构:

  • DataFrame是一种二维的结构,可以将其想象为一种excel工作表,如下图所示:
    图片描述

Series结构

  • Series是带索引的一维数组。
  • Series对象的两个重要属性:index(索引)和values(数据值)。
  • DataFrame 的任意一行或任意一列就是一个Series 对象。
    图片描述

DataFrame包含Series对象。
数据合并
1.轴向连接:

  • pd.concat(), axis = 0 横向轴
    图片描述

pd.concat(), axis=1 横向轴
图片描述

pd.concat()函数的常用参数

  • axis:默认值为0,轴向连接所沿的轴。
  • objs:需要连接的对象的列表。
  • ignore_index:布尔值,默认为False,为True则不适用连接轴上的索引值,生成的轴被标记为:0,…,n-1
  • keys:序列,默认为None。使用该序列构建层次化索引,且该索引在最外层。
  • join:{‘inner’,‘outer’},默认为outer,指定处理其他轴上的索引,‘outer’ 表示取并集,'inner’表示取交集。

数据融合——pd.merge()

也是将多个表进行连接,拼接融合的一种方式,这种拼接方式和之前的拼接方式有所不同,concat是将数据A,B拼接到一起,merge需要考虑数据融合。

图片描述

pd.merge()中包含的常用参数:

  • left:参与合并的左侧的DataFrame。
  • right:参与合并的右侧的DataFrame。
  • how:{‘left’,‘right’,‘outer’,’inner‘},默认为inner。
  • on:用于连接的别名,必须包含在左右两个DataFrame中。
  • left_on:左侧DataFrame中作为连接键的列。
  • right_on:右侧DataFrame中作为连接键的列。
  • left_index:{True,False},将左侧的行索引用作其连接键。
  • right_index:{True,False},将右侧的行索引用作其连接键。
  • suffiex:字符串值元组,用于追加到重叠列名的末尾,默认(’_x‘,’_y’)。

数据转换

  • 利用函数或映射进行数据转换。
  • 可以将自己定义的或其他包提供的函数用在Pandas对象上以实现批量修改。
  • 实现数据转换的常用方法:applymap和map实例方法。

例:生成一个指标变量indicator,如果取值为0,表示“load_status=Fully Paid”,如果取值为1,表示“load_status = Charged Off”
图片描述
图片描述

如果我们需要将数据按照一定的映射关系进行替换,则可以选择使用replace方法,将工作年限中的“10+years”替换为high
图片描述
图片描述

课程收获
在昨天学习Python的高级用法以及Numpy之后,今天又接触到了新的数据处理工具——Pandas,帮助我提升了对二维数组创建,导出的能力,解决了openpyxl在excel表导入导出时复杂的逻辑,精简代码结构,提升代码处理效率,收获颇多,感谢老师带来的对Pandas系统的讲解。

图片描述
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP