当前位置:主页 > 书籍配套资源 > Python配套资源
《Python数据整理》源代码

《Python数据整理》源代码

  • 更新:2022-01-24
  • 大小:20.3 MB
  • 类别:Python
  • 作者:提尔塔吉奥蒂·萨卡
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

为使数据有用且有意义,必须对其进行整理和提炼。本书将向读者传输这些过程背后的所有核心思想,并让读者掌握该领域中最通俗的工具和技术的相关知识。

本书从Python基础知识开始,主要聚焦于数据结构,接着简要介绍数据整理的基本工具NumPy和pandas库,之后介绍如何使用相同的Python后端从各种不同的数据源(如internet、大型数据库或Excel财务表)中提取和转换数据,以及如何根据下游的分析工具需求,处理缺失或不正确的数据并重新格式化数据。读者将通过现实世界的示例和数据集学习这些相关概念。最后,通过本书附录中的活动练习,读者将有足够的信心来处理大量的数据源,有效地提取、清理、转换和格式化数据。

封面图

目录

  • 译者序
  • 前言
  • 第1章Python数据整理入门1
  • 1.1引言1
  • 1.2Python数据整理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.3Lambda表达式28
  • 练习18:用Lambda表达式证明三角恒等式28
  • 练习19:用于排序的Lambda表达式29
  • 练习20:多元素成员检查30
  • 2.2.4队列30
  • 练习21:在Python中实现队列31
  • 活动3:Permutations、迭代器、Lambda、列表32
  • 2.3Python基本文件操作33
  • 练习22:写入和读取环境变量33
  • 练习23:打开和关闭文件34
  • 练习24:逐行读取文件36
  • 练习25:写入文件37
  • 活动4:设计专属CSV解析器38
  • 2.4小结39
  • 第3章NumPy、pandas和Matplotlib简介40
  • 3.1引言40
  • 3.2NumPy数组操作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.3pandas的DataFrame54
  • 练习37:创建pandas序列55
  • 练习38:pandas序列和数据处理56
  • 练习39:创建pandas DataFrame57
  • 练习40:查看部分DataFrame58
  • 练习41:创建和删除新的列或行61
  • 3.4NumPy和pandas的统计与可视化63
  • 3.4.1基本描述性统计(用于可视化的Matplotlib库)63
  • 练习42:通过散点图介绍Matplotlib64
  • 3.4.2统计指标的定义—集中趋势和分布65
  • 3.4.3随机变量与概率分布66
  • 3.4.4统计和可视化中的数据整理68
  • 3.4.5DataFrame的基本描述性统计计算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.1pandas中的缺失值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.5pandas的实用方法102
  • 4.5.1随机抽样102
  • 练习57:使用sample方法随机抽样102
  • 4.5.2value_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.3BeautifulSoup 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.2zip函数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.1Python中的库152
  • 7.2.2requests库153
  • 练习82:使用requests库从Wikipedia主页获取响应153
  • 练习83:检查网络请求的状态154
  • 练习84:创建一个函数来解码响应的内容并检查其长度155
  • 7.2.3BeautifulSoup库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.5findall方法191
  • 活动9:从古腾堡提取Top 100的电子书191
  • 活动10:通过读取API构建自己的电影数据库192
  • 7.6小结193
  • 第8章关系数据库管理系统和结构化查询语言195
  • 8.1引言195
  • 8.2RDBMS和SQL概述196
  • 8.2.1RDBMS是如何组织的196
  • 8.2.2SQL196
  • 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

资源下载

资源下载地址1:https://pan.baidu.com/s/18ZZ_bO5jhd14iKLH8HLFZQ

相关资源

网友留言