前言: 技术书籍是学习技术知识的重要资源之一。读技术书可以帮助我们学习新技能和知识,技术书籍提供了可靠的、全面的信息,帮助我们快速学习新技能和知识。同时技术书籍有助于保持你的竞争力,因为它们提供了最新的技术知识和实践。这在当今快速发展的技术领域尤为重要,不断学习新知识和技能才能保持竞争力。总之,读技术书对于学习技术知识、提高职业素养和保持竞争力都非常重要。
Dream联合金主爸爸给大家送书啦!本期为大家带来的是 《Python数据清洗》,再次感谢 清华大学出版社 的大力支持;为Dream粉丝带来的丰厚福利。

Dream推荐

《Python数据清洗》详细阐述了与Python数据清洗相关的基本解决方案,是使用Python和Pandas执行数据清洗任务的实用教程,提供了大量的数据清洗操作技巧。

内容简介

《Python数据清洗》详细阐述了与Python数据清洗相关的基本解决方案,主要包括将表格数据导入Pandas中、将HTML和JSON导入Pandas中、衡量数据好坏、识别缺失值和离群值、使用可视化方法识别意外值、使用Series操作清洗和探索数据、聚合时修复混乱数据、组合DataFrame、规整和重塑数据、用户定义的函数和类等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

文章目录

第1章 将表格数据导入Pandas中 1

1.1 技术要求 1

1.2 导入CSV文件 2

1.2.1 准备工作 2

1.2.2 实战操作 3

1.2.3 原理解释 5

1.2.4 扩展知识 6

1.2.5 参考资料 7

1.3 导入Excel文件 7

1.3.1 准备工作 8

1.3.2 实战操作 8

1.3.3 原理解释 13

1.3.4 扩展知识 13

1.3.5 参考资料 14

1.4 从SQL数据库中导入数据 14

1.4.1 准备工作 15

1.4.2 实战操作 15

1.4.3 原理解释 19

1.4.4 扩展知识 21

1.4.5 参考资料 21

1.5 导入SPSS、Stata和SAS数据 21

1.5.1 准备工作 22

1.5.2 实战操作 22

1.5.3 原理解释 28

1.5.4 扩展知识 29

1.5.5 参考资料 30

1.6 导入R数据 30

1.6.1 准备工作 30

1.6.2 实战操作 31

1.6.3 原理解释 33

1.6.4 扩展知识 34

1.6.5 参考资料 34

1.7 保留表格数据 35

1.7.1 准备工作 36

1.7.2 实战操作 36

1.7.3 原理解释 39

1.7.4 扩展知识 39

第2章 将HTML和JSON导入Pandas中 41

2.1 技术要求 41

2.2 导入简单的JSON数据 41

2.2.1 准备工作 42

2.2.2 实战操作 42

2.2.3 原理解释 47

2.2.4 扩展知识 48

2.3 通过API导入更复杂的JSON数据 48

2.3.1 准备工作 49

2.3.2 实战操作 50

2.3.3 原理解释 52

2.3.4 扩展知识 53

2.3.5 参考资料 53

2.4 从网页中导入数据 53

2.4.1 准备工作 54

2.4.2 实战操作 55

2.4.3 原理解释 58

2.4.4 扩展知识 59

2.5 持久保存JSON数据 59

2.5.1 准备工作 60

2.5.2 实战操作 60

2.5.3 原理解释 62

2.5.4 扩展知识 63

第3章 衡量数据好坏 65

3.1 技术要求 66

3.2 初步了解数据 66

3.2.1 准备工作 66

3.2.2 实战操作 67

3.2.3 原理解释 70

3.2.4 扩展知识 71

3.2.5 参考资料 71

3.3 选择和组织列 71

3.3.1 准备工作 72

3.3.2 实战操作 72

3.3.3 原理解释 77

3.3.4 扩展知识 77

3.3.5 参考资料 78

3.4 选择行 79

3.4.1 准备工作 79

3.4.2 实战操作 79

3.4.3 原理解释 86

3.4.4 扩展知识 87

3.4.5 参考资料 87

3.5 生成分类变量的频率 87

3.5.1 准备工作 88

3.5.2 实战操作 88

3.5.3 原理解释 91

3.5.4 扩展知识 92

3.6 生成连续变量的摘要统计信息 92

3.6.1 准备工作 92

3.6.2 实战操作 93

3.6.3 原理解释 95

3.6.4 参考资料 96

第4章 识别缺失值和离群值 97

4.1 技术要求 97

4.2 寻找缺失值 97

4.2.1 准备工作 98

4.2.2 实战操作 98

4.2.3 原理解释 101

4.2.4 参考资料 101

4.3 用一个变量识别离群值 102

4.3.1 准备工作 102

4.3.2 实战操作 102

4.3.3 原理解释 109

4.3.4 扩展知识 109

4.3.5 参考资料 110

4.4 识别双变量关系中的离群值和意外值 110

4.4.1 准备工作 111

4.4.2 实战操作 112

4.4.3 原理解释 118

4.4.4 扩展知识 119

4.4.5 参考资料 119

4.5 检查变量关系中的逻辑不一致情况 119

4.5.1 准备工作 119

4.5.2 实战操作 120

4.5.3 原理解释 126

4.5.4 参考资料 126

4.6 使用线性回归来确定具有重大影响的数据点 126

4.6.1 准备工作 127

4.6.2 实战操作 127

4.6.3 原理解释 129

4.6.4 扩展知识 130

4.7 使用k最近邻算法找到离群值 130

4.7.1 准备工作 130

4.7.2 实战操作 131

4.7.3 原理解释 133

4.7.4 扩展知识 133

4.7.5 参考资料 134

4.8 使用隔离森林算法查找异常 134

4.8.1 准备工作 134

4.8.2 实战操作 134

4.8.3 原理解释 137

4.8.4 扩展知识 138

4.8.5 参考资料 138

第5章 使用可视化方法识别意外值 139

5.1 技术要求 139

5.2 使用直方图检查连续变量的分布 140

5.2.1 准备工作 140

5.2.2 实战操作 141

5.2.3 原理解释 146

5.2.4 扩展知识 147

5.3 使用箱形图识别连续变量的离群值 147

5.3.1 准备工作 148

5.3.2 实战操作 148

5.3.3 原理解释 153

5.3.4 扩展知识 153

5.3.5 参考资料 153

5.4 使用分组的箱形图发现特定组中的意外值 154

5.4.1 准备工作 154

5.4.2 实战操作 154

5.4.3 原理解释 159

5.4.4 扩展知识 159

5.4.5 参考资料 160

5.5 使用小提琴图检查分布形状和离群值 160

5.5.1 准备工作 160

5.5.2 实战操作 161

5.5.3 原理解释 165

5.5.4 扩展知识 166

5.5.5 参考资料 166

5.6 使用散点图查看双变量关系 166

5.6.1 准备工作 167

5.6.2 实战操作 167

5.6.3 原理解释 172

5.6.4 扩展知识 173

5.6.5 参考资料 173

5.7 使用折线图检查连续变量的趋势 173

5.7.1 准备工作 173

5.7.2 实战操作 173

5.7.3 原理解释 178

5.7.4 扩展知识 179

5.7.5 参考资料 179

5.8 根据相关性矩阵生成热图 179

5.8.1 准备工作 180

5.8.2 实战操作 180

5.8.3 原理解释 182

5.8.4 扩展知识 183

5.8.5 参考资料 183

第6章 使用Series操作清洗和探索数据 185

6.1 技术要求 186

6.2 从Pandas Series中获取值 186

6.2.1 准备工作 186

6.2.2 实战操作 187

6.2.3 原理解释 190

6.3 显示Pandas Series的摘要统计信息 190

6.3.1 准备工作 191

6.3.2 实战操作 191

6.3.3 原理解释 193

6.3.4 扩展知识 195

6.3.5 参考资料 195

6.4 更改Series值 195

6.4.1 准备工作 195

6.4.2 实战操作 195

6.4.3 原理解释 198

6.4.4 扩展知识 199

6.4.5 参考资料 199

6.5 有条件地更改Series值 199

6.5.1 准备工作 199

6.5.2 实战操作 200

6.5.3 原理解释 203

6.5.4 扩展知识 205

6.5.5 参考资料 206

6.6 评估和清洗字符串Series数据 206

6.6.1 准备工作 206

6.6.2 实战操作 206

6.6.3 原理解释 210

6.6.4 扩展知识 211

6.7 处理日期 211

6.7.1 准备工作 211

6.7.2 实战操作 212

6.7.3 原理解释 216

6.7.4 参考资料 217

6.8 识别和清洗缺失的数据 217

6.8.1 准备工作 217

6.8.2 实战操作 217

6.8.3 原理解释 221

6.8.4 扩展知识 221

6.8.5 参考资料 221

6.9 使用k最近邻算法填充缺失值 222

6.9.1 准备工作 222

6.9.2 实战操作 222

6.9.3 原理解释 223

6.9.4 扩展知识 224

6.9.5 参考资料 224

第7章 聚合时修复混乱数据 225

7.1 技术要求 226

7.2 使用itertuples遍历数据 226

7.2.1 准备工作 226

7.2.2 实战操作 227

7.2.3 原理解释 229

7.2.4 扩展知识 230

7.3 使用NumPy数组按组计算汇总 231

7.3.1 准备工作 231

7.3.2 实战操作 231

7.3.3 原理解释 233

7.3.4 扩展知识 234

7.3.5 参考资料 234

7.4 使用groupby组织数据 234

7.4.1 准备工作 234

7.4.2 实战操作 234

7.4.3 原理解释 237

7.4.4 扩展知识 237

7.5 通过groupby使用更复杂的聚合函数 237

7.5.1 准备工作 238

7.5.2 实战操作 238

7.5.3 原理解释 242

7.5.4 扩展知识 243

7.5.5 参考资料 244

7.6 结合groupby使用用户定义的函数 244

7.6.1 准备工作 244

7.6.2 实战操作 244

7.6.3 原理解释 247

7.6.4 扩展知识 247

7.6.5 参考资料 248

7.7 使用groupby更改DataFrame的分析单位 248

7.7.1 准备工作 249

7.7.2 实战操作 249

7.7.3 原理解释 250

第8章 组合DataFrame 251

8.1 技术要求 252

8.2 垂直组合DataFrame 252

8.2.1 准备工作 252

8.2.2 实战操作 253

8.2.3 原理解释 256

8.2.4 参考资料 256

8.3 进行一对一合并 256

8.3.1 准备工作 258

8.3.2 实战操作 258

8.3.3 原理解释 262

8.3.4 扩展知识 263

8.4 按多列进行一对一合并 263

8.4.1 准备工作 263

8.4.2 实战操作 263

8.4.3 原理解释 266

8.4.4 扩展知识 266

8.5 进行一对多合并 266

8.5.1 准备工作 267

8.5.2 实战操作 267

8.5.3 原理解释 271

8.5.4 扩展知识 271

8.5.5 参考资料 271

8.6 进行多对多合并 271

8.6.1 准备工作 272

8.6.2 实战操作 272

8.6.3 原理解释 276

8.6.4 扩展知识 277

8.7 开发合并例程 277

8.7.1 准备工作 277

8.7.2 实战操作 278

8.7.3 原理解释 279

8.7.4 参考资料 280

第9章 规整和重塑数据 281

9.1 技术要求 282

9.2 删除重复的行 282

9.2.1 准备工作 282

9.2.2 实战操作 283

9.2.3 原理解释 285

9.2.4 扩展知识 286

9.2.5 参考资料 286

9.3 修复多对多关系 286

9.3.1 准备工作 287

9.3.2 实战操作 287

9.3.3 原理解释 291

9.3.4 扩展知识 292

9.3.5 参考资料 292

9.4 使用stack和melt将数据由宽变长 292

9.4.1 准备工作 293

9.4.2 实战操作 293

9.4.3 原理解释 297

9.5 使用wide_to_long处理多列 297

9.5.1 准备工作 297

9.5.2 实战操作 297

9.5.3 原理解释 299

9.5.4 扩展知识 299

9.6 使用unstack和pivot将数据由长变宽 300

9.6.1 准备工作 300

9.6.2 实战操作 300

9.6.3 原理解释 302

第10章 用户定义的函数和类 303

10.1 技术要求 303

10.2 用于查看数据的函数 303

10.2.1 准备工作 304

10.2.2 实战操作 304

10.2.3 原理解释 307

10.2.4 扩展知识 308

10.3 用于显示摘要统计信息和频率的函数 308

10.3.1 准备工作 308

10.3.2 实战操作 309

10.3.3 原理解释 313

10.3.4 扩展知识 313

10.3.5 参考资料 313

10.4 识别离群值和意外值的函数 314

10.4.1 准备工作 314

10.4.2 实战操作 315

10.4.3 原理解释 319

10.4.4 扩展知识 319

10.4.5 参考资料 319

10.5 聚合或合并数据的函数 319

10.5.1 准备工作 320

10.5.2 实战操作 320

10.5.3 原理解释 325

10.5.4 扩展知识 325

10.5.5 参考资料 326

10.6 包含更新Series值逻辑的类 326

10.6.1 准备工作 326

10.6.2 实战操作 326

10.6.3 原理解释 330

10.6.4 扩展知识 331

10.6.5 参考资料 331

10.7 处理非表格数据结构的类 331

10.7.1 准备工作 332

10.7.2 实战操作 333

10.7.3 原理解释 336

10.7.4 扩展知识 336

写作感悟

本书是一本实用的数据清洗指南。从广义上说,数据清洗被定义为准备数据进行分析所需的所有任务。它通常由在数据清洗过程中完成的任务组成,即导入数据、以诊断方式查看数据、识别异常值和意外值、估算和填充缺失值、规整数据等。本书每个秘笈都会引导读者对原始数据执行特定的数据清洗任务。

目前市面上已经有许多非常好的Pandas书籍,但是本书有自己的特色,我们将重点放在实战操作和原理解释上。

由于Pandas还相对较新,因此我们所学到的有关清洗数据的经验是受使用其他工具的经验影响的。大约在2012年,作者开始使用Python和R适应其时的工作需要,在21世纪初主要使用的是C#和T-SQL,在20世纪90年代主要使用的是SAS和Stata,在20世纪80年代主要使用的是FORTRAN和Pascal。本书的大多数读者可能都有使用各种数据清洗和分析工具的经验。

无论你喜欢使用什么工具,其重要性都比不上数据准备任务和数据属性。如果让作者撰写《SAS数据清洗秘笈》或《R数据清洗秘笈》,那么讨论的主题也几乎是一样的。本书只是采用与Python/Pandas相关的方法来解决分析师数十年来面临的相同数据清洗挑战。

在讨论如何使用Python生态系统中的工具(Pandas、NumPy、Matplotlib和SciPy等)进行处理之前,作者会在每章的开头介绍如何思考特定的数据清洗任务。在每个秘笈中,作者会介绍它对于数据发现的含义。

本书尝试将工具和目的连接起来。例如,我们阐释偏度和峰度之类的概念,这对于处理离群值是非常重要的,同时我们又介绍箱形图等可视化工具,强化读者对于偏度和峰度等概念的理解。

本书读者

本书适合那些寻求使用不同的Python工具和技术处理混乱数据的读者。本书采用基于秘笈的方法来帮助读者学习如何清洗和管理数据。要充分理解本书操作,你应该掌握一定的Python编程知识。

内容介绍

本书共包含10章,具体内容如下。

第1章“将表格数据导入Pandas中”,探讨将CSV文件、Excel文件、关系数据库表、SPSS、Stata和SAS文件以及R文件等加载到Pandas DataFrame中的工具。

第2章“将HTML和JSON导入Pandas中”,讨论读取和规范化JSON数据以及从网页抓取数据的技术。

第3章“衡量数据好坏”,介绍在DataFrame中定位、选择列和行以及生成摘要统计信息的常用技术。

第4章“识别缺失值和离群值”,探讨如何采用不同的策略来识别整个DataFrame和选定组中的缺失值和离群值。

第5章“使用可视化方法识别意外值”,演示如何使用Matplotlib和Seaborn工具来可视化关键变量的分布方式,常见的可视化方法包括直方图、箱形图、散点图、折线图和小提琴图等。

第6章“使用Series操作清洗和探索数据”,讨论如何基于一个或多个Series的值,使用标量、算术运算和条件语句更新Pandas系列。

第7章“聚合时修复混乱数据”,演示按分组汇总数据的多种方法,并讨论多种聚合方法之间的区别。

第8章“组合DataFrame”,探讨用于连接和合并数据的不同策略,以及合并数据时可能遇到的常见问题。

第9章“规整和重塑数据”,详细介绍若干种用于删除重复数据、堆叠、合并和旋转的策略。

第10章“用户定义的函数和类”,探讨如何通过函数和类的形式将前9章中的许多技术转变为可重用的代码。

充分利用本书

要充分利用本书,你需要具备有关Python编程的一些基础知识。另外,也可以使用Google Colab(免费的Jupyter Notebook环境,云端运行,通过浏览器即可使用,可以编写和执行代码,保存和共享分析结果)。

编写体例

本书大多数章节以秘笈形式编写,每一节就是一个秘笈,每个秘笈中又分别包括“准备工作”“实战操作”“原理解释”“扩展知识”“参考资料”小节(部分秘笈不包含“扩展知识”和“参考资料”),使读者既能学习Pandas实用操作,又能了解其相关知识和原理,真正理解和掌握数据清洗技巧。
本书购买链接

获取方式

此文章下评论:人生苦短,我用Python!即可参与抽取书籍活动! 评论区抽出三位小伙伴免费送出,感谢大家支持,我们评论区见!