欢迎光临
免费的PDF电子书下载网站

Python数据整理 PDF下载

编辑推荐

为了使数据有用且有意义,必须对其进行整理和提炼。本书将向你揭示这些过程背后的核心思想,并让你掌握该领域中流行的工具和技术的相关知识。
本书以Python为基础,重点关注数据结构,然后深入到数据整理的基本工具,如Numpy和pandas库。你将深入了解为什么应该远离基于其他语言实现的传统数据清理方式,而利用Python中特定的预建例程。
Python提示和技巧的组合将演示如何使用相同的Python后端从各种数据源(包括互联网、大型数据库和Excel财务表)提取和转换数据。为了帮你应对更具挑战性的场景,本书将向你介绍如何处理缺失数据或错误数据,并根据下游分析工具要求重新格式化数据。本书将通过现实世界的例子和数据集进一步帮助你掌握相关概念。
通过本书的学习,你将有信心对各种不同的数据源进行高效的提取、清理、转换并格式化数据。

通过阅读本书,你将学到:
?使用与操作复杂和简单的数据结构。
?在运行时充分利用DataFrame和Numpy数组。
?使用BeautifulSoup4和html5lib执行网络抓取。
?使用正则表达式(RegEX)执行高级字符串搜索和操作。
?通过pandas处理异常值与执行数据填充。
?描述性统计和绘图技术的使用。
?基于数据生成技术的数据整理和建模。
 

内容简介

为使数据有用且有意义,必须对其进行整理和提炼。本书将向读者传输这些过程背后的所有核心思想,并让读者掌握该领域中*通俗的工具和技术的相关知识。
本书从Python基础知识开始,主要聚焦于数据结构,接着简要介绍数据整理的基本工具NumPy和pandas库,之后介绍如何使用相同的Python后端从各种不同的数据源(如internet、大型数据库或Excel财务表)中提取和转换数据,以及如何根据下游的分析工具需求,处理缺失或不正确的数据并重新格式化数据。读者将通过现实世界的示例和数据集学习这些相关概念。*后,通过本书附录中的活动练习,读者将有足够的信心来处理大量的数据源,有效地提取、清理、转换和格式化数据。

作者简介

Tirthajyoti Sarkar博士是半导体技术领域的高级工程师,他将前沿的数据科学与机器学习技术应用于设计自动化和预测分析,并定期撰写关于Python编程和数据科学主题的文章。 他拥有伊利诺伊大学的博士学位和斯坦福大学与麻省理工学院的人工智能和机器学习的证书。

Shubhadeep Roychowdhury 是一家总部在巴黎的网络安全初创公司的高级软件工程师,目前致力于应用先进的计算机视觉、数据工程算法和工具开发尖端产品。他经常撰写Python算法实现和类似主题的文章。他拥有西孟加拉邦科技大学的计算机科学硕士学位和斯坦福大学的机器学习证书。

Python数据整理 PDF下载

目录

译者序
前言
第1章 Python数据整理入门1
1.1 引言1
1.2 Python数据整理3
1.3 列表、集合、字典、元组和字符串3
1.3.1 列表4
练习1:访问列表成员 4
练习2:生成列表5
练习3:遍历列表并检查成员7
练习4:列表排序8
练习5:生成随机列表9
活动1:处理列表10
1.3.2 集合11
1.3.3 字典13
练习6:访问和设置字典中的值13
练习7:遍历字典14
练习8:再次讨论唯一值列表问题14
练习9:删除字典中的值15
练习10:字典推导式16
1.3.4 元组16
练习11:处理元组17
1.3.5 字符串18
练习12:访问字符串18
练习13:字符串切片19
练习14:字符串拆分与合并20
活动2:分析多行字符串并生成唯一单词数量21
1.4 小结22
第2章 高级数据结构和文件处理23
2.1 引言23
2.2 高级数据结构23
2.2.1 迭代器24
练习15:迭代器介绍24
2.2.2 栈25
练习16:在Python中实现栈26
练习17:使用用户定义的方法实现栈26
2.2.3 Lambda表达式28
练习18:用Lambda表达式证明三角恒等式28
练习19:用于排序的Lambda表达式29
练习20:多元素成员检查30
2.2.4 队列30
练习21:在Python中实现队列31
活动3:Permutations、迭代器、Lambda、列表32
2.3 Python基本文件操作33
练习22:写入和读取环境变量33
练习23:打开和关闭文件34
练习24:逐行读取文件36
练习25:写入文件37
活动4:设计专属CSV解析器38
2.4 小结39
第3章 NumPy、pandas和Matplotlib简介40
3.1 引言40
3.2 NumPy数组操作40
练习26:从列表中创建NumPy数组41
练习27:两个NumPy数组相加42
练习28:NumPy数组的数学运算43
练习29:NumPy数组的高级数学运算43
练习30:使用arange和linspace生成数组44
练习31:创建多维数组45
练习32:二维数组的维度、形状、大小和数据类型46
练习33:全零、全一、随机、单位矩阵和向量46
练习34:reshape和 ravel函数48
练习35:索引和切片49
练习36:数组操作(数组-数组、数组-标量和通用函数)52
3.3 pandas的DataFrame54
练习37:创建pandas序列55
练习38:pandas序列和数据处理56
练习39:创建pandas DataFrame57
练习40:查看部分DataFrame58
练习41:创建和删除新的列或行61
3.4 NumPy和pandas的统计与可视化63
3.4.1 基本描述性统计(用于可视化的Matplotlib库)63
练习42:通过散点图介绍Matplotlib64
3.4.2 统计指标的定义—集中趋势和分布65
3.4.3 随机变量与概率分布66
3.4.4 统计和可视化中的数据整理68
3.4.5 DataFrame的基本描述性统计计算68
练习43:从均匀分布生成随机数68
练习44:从二项分布和条形图生成随机数69
练习45:从正态分布和直方图生成随机数70
练习46:从DataFrame计算描述性统计71
练习47:内置绘图实用工具74
活动5:从CSV文件生成统计数据75
3.5 小结75
第4章 深入学习Python数据整理77
4.1 引言77
4.2 选取子集、过滤和分组77
4.2.1 选取子集78
练习48:从Excel文件加载和检查超市的销售数据78
练习49:unique函数80
4.2.2 条件选择与布尔过滤81
练习50:设定和重置索引84
4.2.3 分组86
练习51:GroupBy方法86
4.3 处理缺失值和检测异常值89
4.3.1 pandas中的缺失值89
练习52:用fillna填充缺失值91
练习53:用dropna删除缺失值93
4.3.2 使用简单的统计测试进行异常值检测94
4.4 合并数据的方法:concat、merge和join96
练习54:concat方法96
练习55:merge方法(通过公共键)97
练习56:join方法100
4.5 pandas的实用方法102
4.5.1 随机抽样102
练习57:使用sample方法随机抽样102
4.5.2 value_counts方法103
4.5.3 数据透视表功能104
练习58:按列值排序—sort_values方法105
练习59:使用apply方法实现用户自定义函数的灵活性107
活动6:成人收入数据集的使用109
4.6 小结110
第5章 适应不同类型的数据源112
5.1 引言112
5.2 从不同的基于文本的(和非文本的)源中读取数据112
5.2.1 本章提供的数据文件113
5.2.2 本章需安装的库113
5.2.3 从CSV文件中读取文件113
练习60:从缺少表头的CSV文件中读取数据113
练习61:读取不以逗号为分隔符的CSV文件115
练习62:重置CSV文件的表头116
练习63:读取CSV文件时跳过初始行和页脚116
练习64:结合使用skiprows和nrows来读取小块数据118
5.2.4 使用sheet_name从Excel文件读取数据并处理不同的sheet_name120
5.2.5 从文本文件中读取数据121
练习65:读取一般分隔的文本文件121
5.2.6 从非文本源中读取数据121
练习66:从URL中直接读取HTML表121
练习67:从JSON文件中读取数据123
练习68:从PDF文件读取表格数据124
5.3 BeautifulSoup 4和网页解析简介126
练习69:使用BeautifulSoup读取HTML文件并提取内容127
练习70:DataFrame和BeautifulSoup131
练习71:以Excel文件格式导出DataFrame 132
练习72:使用bs4栈文档中的URL133
活动7:从网页读取表格数据并创建DataFrame133
5.4 小结134
第6章 学习数据整理的隐藏秘密135
6.1 引言135
6.2 高级列表推导式和zip函数136
6.2.1 生成器表达式简介136
练习73:生成器表达式136
练习74:一行生成器表达式137
练习75:提取包含单个单词的列表138
6.2.2 zip函数140
练习76:zip函数140
练习77:处理杂乱的数据140
6.3 数据格式化141
6.3.1 %运算符141
6.3.2 使用format函数143
练习78:使用{}表示数据144
6.4 识别并清除异常值145
练习79:数值数据中的异常值146
练习80:使用z-score去除异常值148
练习81:字符串的模糊匹配149
活动8:异常值和缺失数据的处理150
6.6 小结151
第7章 高级网络抓取和数据收集152
7.1 引言152
7.2 网络抓取和BeautifulSoup库的基础152
7.2.1 Python中的库152
7.2.2 requests库153
练习82:使用requests库从Wikipedia主页获取响应153
练习83:检查网络请求的状态154
练习84:创建一个函数来解码响应的内容并检查其长度155
7.2.3 BeautifulSoup库156
练习85:从BeautifulSoup对象中提取人类可读的文本156
练习86:使用高级bs4技术提取相关文本160
练习87:创建一个紧凑函数来从Wikipedia主页提取“On this day”文本163
7.3 从XML读取数据164
练习88:创建XML文件并读取XML元素对象164
练习89:查找树(元素)中的各种数据元素165
7.3.1 从本地XML文件读取数据到ElementTree对象166
练习90:遍历树,找到根,并探索所有子节点的标签和属性166
练习91:使用text方法提取有意义的数据167
7.3.2 使用循环提取和输出人均GDP信息168
练习92:查找并输出每个国家的所有邻国169
练习93:通过网络抓取获得的XML数据的简单使用演示169
7.4 从API读取数据172
7.4.1 定义基URL(或API端点)172
练习94:定义和测试从API提取国家数据的函数173
7.4.2 使用内置的JSON库读取和检查数据174
7.4.3 输出所有数据元素175
7.4.4 使用函数提取包含关键信息的DataFrame176
练习95:通过建立一个国家信息的小型数据库来测试这个函数177
7.5 正则表达式的基础178
7.5.1 网络抓取中的正则表达式178
练习96:使用match方法检查模式是否与字符串或序列匹配179
7.5.2 使用compile方法创建正则表达式程序179
练习97:编译程序以匹配对象180
练习98:在匹配中使用附加参数来检查特定位置的匹配180
7.5.3 正则表达式中的search方法182
练习99:正则表达式中的search方法182
练习100:使用Match对象的span方法来定位匹配模式的位置182
练习101:使用search进行单字符模式匹配的示例183
练习102:字符串开头或结尾的模式匹配示例184
7.5.4 多种匹配模式185
练习103:多字符模式匹配示例185
练习104:贪婪匹配与非贪婪匹配186
练习105:控制重复次数的匹配187
练习106:匹配字符集188
练习107:在正则表达式中使用OR运算符190
7.5.5 findall方法191
活动9:从古腾堡提取Top 100的电子书191
活动10:通过读取API构建自己的电影数据库192
7.6 小结193
第8章 关系数据库管理系统和结构化查询语言195
8.1 引言195
8.2 RDBMS和SQL概述196
8.2.1 RDBMS是如何组织的196
8.2.2 SQL196
8.3 使用RDBMS(MySQL/PostgreSQL/SQLite)199
8.3.1 使用SQLite处理单个表199
练习108:连接到SQLite中的数据库199
练习109:SQLite中的DDL和DML命令200
练习110:对数据库中的值进行排序202
练习111:更改表的结构并更新新添加的字段202
练习112: 对表中的值进行分组203
8.3.2 数据库中的关系映射204
练习113:删除行208
练习114:RDBMS和DataFrame209
活动11:从数据库正确检索数据210
8.4 小结212
第9章 数据整理在现实生活中的应用213
9.1 引言213
9.2 将所学知识应用于现实生活中的数据整理任务213
活动12:数据整理任务—修复联合国数据214
活动13:数据整理任务—清理GDP数据215
活动14:数据整理任务—合并联合国数据和GDP数据216
活动15:数据整理任务—将新数据连接到数据库217
9.3 数据整理拓展延伸217
9.3.1 成为数据科学家所需的额外技能217
9.3.2 大数据和云技术的基础知识218
9.3.3 数据整理的地位219
9.3.4 掌握机器学习的技巧和窍门220
9.4 小结221
附录 活动实施步骤222

Python数据整理 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Python数据整理