书籍作者:张啸宇 | ISBN:9787121336133 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:7630 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
对于希望使用Python来完成数据分析工作的人来说,学习IPython、Numpy、pandas、Matplotlib这个组合是目前看来不错的方向。《Python数据分析从入门到精通》就是这样一本循序渐进的书。
《Python数据分析从入门到精通》共3篇14章。第1篇是Python数据分析语法入门,将数据分析用到的一些语言的语法基础讲解清楚,为接下来的数据分析做铺垫。第2篇是Python数据分析工具入门,介绍了Python数据分析“四剑客”——IPython、Numpy、pandas、Matplotlib。第3篇是Python数据分析案例实战,包括两个案例,分别是数据挖掘和玩转大数据,为读者能真正使用Python进行数据分析奠定基础。
《Python数据分析从入门到精通》内容精练、重点突出、实例丰富,是广大数据分析工作者必备的参考书,同时也非常适合大、中专院校师生学习阅读,还可作为高等院校统计分析及相关专业的教材。
张啸宇:热衷于一切计算机技术,目前在搜狐公司从事数据分析、数据挖掘、深度学习、后端开发等方面的工作。计划做一个Python技术学习交流的网站,到时欢迎各位来“闲逛”。
李静:天津大学软件工程硕士毕业,对利用Python进行数据处理、整理、分析等有比较深入的研究,并在辅助教学实践中积累了较为丰富的经验,广受好评。本书也是结合实践积累,以多小代码案例、多动手的方式,使读者在实践中成长。
一本书搞定Python数据分析四剑客:IPython、Numpy、Matplotlib、pandas
基于Python 3.6,兼容Python 3.x等众多版本
以多小代码案例、多动手的方式,使读者在实践中成长
前 言
由于Python具有简单、易学、免费开源、可移植性、可扩展性等特点,所以它的受欢迎程度扶摇直上。再加上Python拥有非常丰富的库,这也使得它在数据分析领域有着越来越广泛的应用。如果你已经决定学习Python数据分析,但是之前没有编程经验,那么本书将会是你的正确选择。
本书的第1篇主要介绍学习数据分析必备的一些Python语法基础,包括Python的安装、数据类型、数据结构、模块、类、异常处理、使用pip安装Python需要的一些工具等;第2篇主要介绍Python在数据处理和科学计算方面的工具和方法,包括IPython交互式壳的使用、Jupyter Notebook的使用和Numpy的使用,还介绍了Python的核心数据分析处理库pandas,以及Python著名的2D绘图库Matplotlib;第3篇通过数据挖掘和玩转大数据两个案例总结和应用前面所学的知识。
这三篇的层进正好是Python数据分析入门者的阶梯,读者通过学习这三部分内容,即可迈入数据分析的门槛。
本书的特点
Python是当前非常流行的面向对象编程语言,本书将其在数据分析处理方面的特色发挥到极致。本书的主要特点如下:
.Python被大量应用在数据挖掘和机器学习领域,其中使用极其广泛的是IPython、Numpy、pandas、Matplotlib等库。本书详细地介绍了这些库的组成与使用,为科学计算相关人员提供了有用的参考资料。
.本书采取循序渐进的写作风格,对于工具的安装、使用步骤、方法技巧逐步展开,加以图解和应用场景,即使完全不懂Python和数据分析的人员,也可以流畅地读完本书。
.无论哪种语言,编程的方法、模式、数据结构、算法都是相通的。本书将科学计算、数据结构与各种工具和方法完美结合,让非Python读者也能融会贯通,让学习统计的人能找到更适合的统计方法和数据分析处理方法。
.本书最后的两个实战案例适合数据分析入门者,案例的步骤详细、分析到位,能为读者入手真实项目打下良好的基础。
本书的内容安排
本书共3篇14章,主要章节规划如下:
第1章介绍了Python的发展历程、特性,帮助读者搭建最基础的数据分析环境,下载开发语言,选择开发工具,然后在此基础上开发自己的第一个Python程序。读者在学完本章内容后应该对Python有一个基础的认识,知道为什么选择它来进行数据分析。
第2章介绍了Python的基础语法,包括它的代码组织形式、如何缩进、如何注释等,以及输入/输出该如何处理,在中文环境下如何更好地使用Python是本章的重点,最后还通过一个实例复习了Python的这些语法。读者在学完本章内容后可以轻松地编写一些简单的Python程序。
第3章介绍了Python的数据类型与流程控制语句。如果读者已有编程基础,那么阅读本章内容不会有任何压力。如果没有编程基础,那么学习一门语言的流程控制最关键的就是这些知识。读者在阅读完本章后就能轻松阅读更大的Python程序。
第4章介绍了可复用的函数与模块。这些内容较为复杂,但却是进行数据分析的关键。每个数据处理过程我们都会用到函数或模块,而我们后期用到的数据分析库也可以说是一个大函数。所以学习完本章内容,读者应该能够看明白一个完整的Python库。
第5章介绍了数据结构与算法,这是数据分析的基础,也是人工智能的基础。利用算法我们可以找到解决方案,也可以找到最优路径,还可以更高效地完成数据分析任务。读者如果没有看懂本章内容,一定要反复阅读,直到学会为止。
第6章介绍了面向对象的Python。面向对象已经成为每门语言都具备的特性,类、对象、继承这些概念都是面向对象的基础。如果读者没有编程经验,则阅读本章可能会有一定的难度,但是了解了对象的概念,就能学会如何编写更高效的代码、如何让代码和代码之间联动起来。
第7章介绍了异常处理与程序调试。机器毕竟不是人,如果出现错误,则可能会导致死机,或者数据出错。为了防止这些错误的发生,或者防止程序的使用方能得到反馈,我们必须学会Python的异常处理功能。并且当程序发生错误时,我们还要通过程序调试找到错误所在。
第8章介绍了pip软件包管理。既然在做数据分析时我们要用到很多数据分析库,那么如何下载、安装或管理这些库就成了数据分析的第一步。pip就是这样一个工具,它能下载、安装、更新、显示、搜索我们需要的数据分析库。
第9章介绍了IPython科学计算库,它是使用Python进行数据分析、处理、呈现的重要选择之一。本章主要介绍了Python科学计算库的安装方法、IPython壳的一些特性和基本功能、Jupyter Notebook的安装和使用方法。IPython壳的使用是本章的重点,也是数据分析处理的基础工具,希望读者能够消化本章内容,为真正做好数据项目打下基础。
第10章介绍了Numpy科学计算库,主要介绍了它的数组对象及数组对象的一些基本属性和生成数组的基本方法,还包括数组的索引和分片等基本操作,这部分内容是Numpy数据处理的核心。本章介绍的代数运算函数、线性代数、统计函数等内容会让读者觉得有些困惑,但这已经进入了数据分析的关键时刻,所以仍建议读者对本章的内容融会贯通。
第11章介绍了pandas数据分析处理库,主要包括它的序列、数据框的基本操作,还包括pandas里处理默认值、读取常见格式的文本数据,以及数据的组合和分组操作。最后介绍了pandas的时间序列和一个处理实际数据集的案例,读者掌握了这些内容,就可以更好地处理数据。
第12章介绍了Matplotlib的Pyplot和Artist模块,以及pandas的绘图功能。对于读者来说,Pyplot模块是需要掌握的,Artist模块是需要了解的,pandas的绘图功能在实际数据分析中要能熟练应用。
第13章是数据挖掘的案例。首先介绍了著名的贝叶斯理论,然后实现了贝叶斯分类器,最后实现了协同过滤算法,这些都是数据挖掘、分析领域的基础算法。建议读者尝试自己编写代码,熟练掌握贝叶斯分类器和协同过滤算法的使用。
第14章是玩转大数据的案例。鉴于本书主要针对数据分析入门者,所以本章也逐步实现了数据的分析过程,从了解数据到分析数据,最后到代码实现,相信读者学完本章内容后,就能真正动手分析大数据了。
本书由浅入深、从理论到实践,尤其适合初学者逐步学习和完善自己的知识结构。
适合阅读本书的读者
.希望从事数据分析相关工作的人员。
.数据分析工作人员。
.大数据从业人员。
.Python爱好者。
.人工智能从业人员。
.统计行业的人员。
.大、中专院校统计相关专业的学生。
第1篇 Python数据分析语法入门
第1章 初识Python 1
1.1 Python是什么 2
1.2 Python有什么优点 3
1.2.1 Python是自由开源的软件 3
1.2.2 Python是跨平台的 3
1.2.3 Python功能强大 4
1.2.4 Python是可扩展的 4
1.2.5 Python易学易用 5
1.3 其他程序设计语言中的Python 5
1.3.1 Jython 5
1.3.2 Python for .NET 6
1.3.3 IronPython 6
1.4 快速搭建Python开发环境 7
1.4.1 Python的下载和安装 7
1.4.2 用Visual Studio编译Python源代码 9
1.4.3 Python开发工具:Vim 10
1.4.4 Python开发工具:Emacs 15
1.4.5 Python开发工具:PythonWin 18
1.4.6 其他的Python开发工具 20
1.5 第一个Python程序 22
1.5.1 从“Hello, Python!”开始 22
1.5.2 Python的交互式命令行 24
1.6 本章小结 25
第2章 Python起步必备 27
2.1 Python代码的组织形式和注释方式 27
2.1.1 用缩进来分层 28
2.1.2 代码的两种注释方式 29
2.1.3 Python语句的断行 30
2.2 Python的基本输入/输出函数 31
2.2.1 接收输入的input()函数 31
2.2.2 输出内容的print()函数 32
2.3 Python对中文的支持 33
2.3.1 Python 3之前的版本如何使用中文 33
2.3.2 更全面的中文支持 36
2.4 简单实用的Python计算器 37
2.4.1 直接进行算术运算 37
2.4.2 math模块提供丰富的数学函数 38
2.4.3 Python对大整数的支持 39
2.5 本章小结 40
第3章 Python的数据类型与流程控制语句 41
3.1 Python数据类型:数字 42
3.1.1 整型和浮点型 42
3.1.2 运算符 43
3.2 Python数据类型:字符串 45
3.2.1 Python中的字符串 45
3.2.2 字符串中的转义字符 46
3.2.3 操作字符串 46
3.2.4 字符串的索引和分片 49
3.2.5 格式化字符串 50
3.2.6 字符串、数字类型的转换 50
3.2.7 原始字符串 51
3.3 Python数据类型:列表和元组 52
3.3.1 创建和操作列表 52
3.3.2 创建和操作元组 53
3.4 Python数据类型:字典 54
3.5 Python数据类型:文件 55
3.6 Python数据类型:布尔值 56
3.7 Python的流程控制语句 56
3.7.1 分支结构:if语句 57
3.7.2 循环结构:for语句 59
3.7.3 循环结构:while语句 62
3.8 本章小结 63
第4章 可复用的函数与模块 64
4.1 Python自定义函数 65
4.1.1 函数的定义 65
4.1.2 函数调用 66
4.2 参数让函数更有价值 67
4.2.1 有默认值的参数 67
4.2.2 参数的传递方式 69
4.2.3 如何传递任意数量的参数 70
4.2.4 用参数返回计算结果 70
4.3 变量的作用域 71
4.4 最简单的函数:使用lambda表达式定义函数 72
4.5 可重用结构:Python模块 73
4.5.1 Python模块的基本用法 73
4.5.2 Python在哪里查找模块 75
4.5.3 是否需要编译模块 77
4.5.4 模块也可独立运行 78
4.5.5 如何查看模块提供的函数名 79
4.6 用包来管理多个模块 80
4.6.1 包的组成 80
4.6.2 包的内部引用 81
4.7 本章小结 81
第5章 数据结构与算法 82
5.1 表、栈和队列 82
5.1.1 表 83
5.1.2 栈 84
5.1.3 队列 86
5.2 树和图 88
5.2.1 树 88
5.2.2 二叉树 89
5.2.3 图 93
5.3 查找与排序 95
5.3.1 查找 96
5.3.2 排序 97
5.4 本章小结 100
第6章 面向对象的Python 101
6.1 面向对象编程概述 101
6.1.1 Python中的面向对象思想 102
6.1.2 类和对象 102
6.2 在Python中定义和使用类 103
6.2.1 类的定义 104
6.2.2 类的使用 105
6.3 类的属性和方法 106
6.3.1 类的属性 107
6.3.2 类的方法 108
6.4 类的继承 111
6.4.1 使用继承 111
6.4.2 Python的多重继承 112
6.5 在类中重载方法和运算符 114
6.5.1 方法重载 114
6.5.2 运算符重载 115
6.6 在模块中定义类 117
6.7 本章小结 119
第7章 异常处理与程序调试 120
7.1 异常的处理 120
7.1.1 使用try语句捕获异常 121
7.1.2 常见异常的处理 123
7.1.3 多重异常的捕获 124
7.2 用代码引发异常 125
7.2.1 使用raise语句引发异常 126
7.2.2 assert――简化的raise语句 127
7.2.3 自定义异常类 128
7.3 使用pdb模块调试Python脚本 128
7.3.1 调试语句块 129
7.3.2 调试表达式 129
7.3.3 调试函数 130
7.3.4 设置断点 131
7.3.5 pdb调试命令 131
7.4 在PythonWin中调试脚本 134
7.5 本章小结 136
第8章 pip软件包管理 137
8.1 安装pip 137
8.2 更新pip 138
8.3 pip常用操作 138
8.3.1 安装软件包 138
8.3.2 卸载软件包 139
8.3.3 更新软件包 139
8.3.4 显示本地所有已经安装的软件包 139
8.3.5 显示软件包的细节 139
8.3.6 搜索软件包 140
8.3.7 通过wheel文件安装软件包 141
8.4 本章小结 141
第2篇 Python数据分析工具入门
第9章 IPython科学计算库 142
9.1 IPython简介 143
9.2 安装IPython及其他相关库 144
9.2.1 使用Anaconda安装 144
9.2.2 使用pip安装 145
9.3 IPython壳基础 146
9.3.1 自动补全 147
9.3.2 检查 149
9.3.3 %run命令 150
9.3.4 快捷键 150
9.3.5 异常和错误定位 151
9.3.6 魔法方法 151
9.3.7 和操作系统交互 152
9.3.8 代码分析:%prun和%run 153
9.3.9 目录标签系统 155
9.3.10 嵌入IPython 155
9.4 融合Matplotlib库和Pylab模型 156
9.5 输入和输出变量 157
9.6 交互式调试器 158
9.7 计时功能 159
9.8 重新载入模块 160
9.9 配置IPython 161
9.10 Jupyter 162
9.10.1 基于Qt的控制台 162
9.10.2 Jupyter Notebook 165
9.11 IPython和Jupyter Notebook的关系 170
9.12 本章小结 173
第10章 Numpy科学计算库 174
10.1 Numpy基础 174
10.1.1 数组对象介绍 175
10.1.2 生成数组 176
10.1.3 数组对象数据类型 180
10.1.4 打印数组 182
10.2 数组的基本操作 184
10.3 基本的分片和索引操作 186
10.4 高级索引 189
10.4.1 整数索引 189
10.4.2 布尔索引 190
10.4.3 布尔索引的简单应用 192
10.5 改变数组的形状 193
10.6 组装、分割数组 195
10.7 数组的基本函数 196
10.8 复制和指代 198
10.9 线性代数 199
10.10 使用数组来处理数据 201
10.11 Numpy的where()函数和统计函数 203
10.11.1 where()函数 203
10.11.2 统计函数 205
10.12 输入与输出 206
10.12.1 二进制文件 206
10.12.2 文本文件 207
10.13 生成随机数 208
10.14 数组的排序和查找 210
10.14.1 排序 210
10.14.2 查找 212
10.15 扩充转换 213
10.16 本章小结 215
第11章 pandas数据分析处理库 216
11.1 pandas数据结构介绍 217
11.1.1 序列 217
11.1.2 数据框 221
11.2 索引对象 226
11.3 核心的基本函数 227
11.4 索引和旋转 229
11.5 算术运算与对齐 232
11.6 处理默认值 233
11.7 多级索引 237
11.8 读/写数据 239
11.9 组合数据 243
11.10 数据分组操作 247
11.11 时间序列 249
11.11.1 时间序列介绍 250
11.11.2 使用时间序列作图 253
11.12 本章小结 259
第12章 Matplotlib数据可视化 260
12.1 Pyplot模块介绍 261
12.1.1 plot()函数 261
12.1.2 绘制子图 264
12.1.3 添加注释 266
12.1.4 其他的坐标轴类型 268
12.2 应用Pyplot模块 269
12.3 Artist模块 275
12.3.1 Artist模块概述 275
12.3.2 Artist的属性 277
12.4 使用pandas绘图 283
12.5 本章小结 287
第3篇 Python数据分析案例实战
第13章 案例1:数据挖掘 288
13.1 贝叶斯理论介绍 288
13.2 贝叶斯分类器的实现 290
13.3 协同过滤推荐系统 295
13.3.1 相似度计算 296
13.3.2 协同过滤推荐系统的实现 300
13.4 本章小结 304
第14章 案例2:玩转大数据 305
14.1 案例概述 306
14.1.1 了解大数据的处理方式 306
14.1.2 处理日志文件 307
14.1.3 案例目标 308
14.2 日志文件的分割 309
14.3 编写Map()函数处理小文件 311
14.4 编写Reduce()函数 313
14.5 本章小结 315