产品特色
编辑推荐
资 深大数据专家张良均领衔畅销书作者团队,教育部长江学者特聘教授、国家杰出青年基金获得者、IEEE Fellow、华南理工大学计算机与工程学院院长张军倾力推荐。
本书采用了以任务为导向的教学模式,按照解决实际任务的工作流程路线,逐步展开介绍相关的理论知识点,推导生成可行的解决方案,* 后落实在任务实现环节。
全书大部分章节紧扣任务需求展开,不堆积知识点,着重于解决问题时思路的启发与方案的实施。通过从任务需求到实现这一完整工作流程的体验,帮助读者真正理解与消化Python数据分析与应用。
书中案例全部源于企业真实项目,可操作性强,引导读者融会贯通,并提供源代码等相关学习资源,帮助读者快速掌握大数据相关技能。
内容简介
本书以任务为导向,全面地介绍数据分析的流程和Python数据分析库的应用,详细讲解利用Python解决企业实际问题的方法。全书共9章,* 1章介绍了数据分析的基本概念等相关知识;* 2~6章介绍了Python数据分析的常用库及其应用,涵盖NumPy数值计算、Matplotlib数据可视化、pandas统计分析、使用pandas进行数据预处理、使用scikit-learn构建模型,较为全面地阐述了Python数据分析方法;第7~9章结合之前所学的数据分析技术,进行企业综合案例数据分析。除* 1章外,本书各章都包含了实训与课后习题,通过练习和操作实践,帮助读者巩固所学的内容。
本书可作为高校大数据技术类专业的教材,也可以作为大数据技术爱好者的自学用书。
作者简介
张良均,高 级信息系统项目管理师,泰迪杯全国大学生数据挖掘竞赛(www.tipdm.org)发起人。华南师范大学、广东工业大学兼职教授,广东省工业与应用数学学会理事。兼有大型高科技企业和高校的工作经历,主要从事大数据挖掘及其应用的策划、研发及咨询培训。全国计算机技术与软件专业技术资格(水平)考试继续教育和CDA数据分析师培训讲师。发表数据挖掘相关论文数二十余篇,已取得国家发明专利12项,主编《Hadoop大数据分析与挖掘实战》《Python数据分析与挖掘实战》《R语言数据分析与挖掘实战》等多本畅销图书,主持并完成科技项目9项。获得SAS、SPSS数据挖掘认证及Hadoop开发工程师证书,具有电力、电信、银行、制造企业、电子商务和电子政务的项目经验和行业背景。
目录
第1章 Python数据分析概述 1
任务1.1 认识数据分析 1
1.1.1 掌握数据分析的概念 2
1.1.2 掌握数据分析的流程 2
1.1.3 了解数据分析应用场景 4
任务1.2 熟悉Python数据分析的工具 5
1.2.1 了解数据分析常用工具 6
1.2.2 了解Python数据分析的优势 7
1.2.3 了解Python数据分析常用类库 7
任务1.3 安装Python的Anaconda发行版 9
1.3.1 了解Python的Anaconda发行版 9
1.3.2 在Windows系统中安装Anaconda 9
1.3.3 在Linux系统中安装Anaconda 12
任务1.4 掌握Jupyter Notebook常用功能 14
1.4.1 掌握Jupyter Notebook的基本功能 14
1.4.2 掌握Jupyter Notebook的高 级功能 16
小结 19
课后习题 19
* 2章 NumPy数值计算基础 21
任务2.1 掌握NumPy数组对象ndarray 21
2.1.1 创建数组对象 21
2.1.2 生成随机数 27
2.1.3 通过索引访问数组 29
2.1.4 变换数组的形态 31
任务2.2 掌握NumPy矩阵与通用函数 34
2.2.1 创建NumPy矩阵 34
2.2.2 掌握ufunc函数 37
任务2.3 利用NumPy进行统计分析 41
2.3.1 读/写文件 41
2.3.2 使用函数进行简单的统计分析 44
2.3.3 任务实现 48
小结 50
实训 50
实训1 创建数组并进行运算 50
实训2 创建一个国际象棋的棋盘 50
课后习题 51
第3章 Matplotlib数据可视化基础 52
任务3.1 掌握绘图基础语法与常用参数 52
3.1.1 掌握pyplot基础语法 53
3.1.2 设置pyplot的动态rc参数 56
任务3.2 分析特征间的关系 59
3.2.1 绘制散点图 59
3.2.2 绘制折线图 62
3.2.3 任务实现 65
任务3.3 分析特征内部数据分布与分散状况 68
3.3.1 绘制直方图 68
3.3.2 绘制饼图 70
3.3.3 绘制箱线图 71
3.3.4 任务实现 73
小结 77
实训 78
实训1 分析1996~2015年人口数据特征间的关系 78
实训2 分析1996~2015年人口数据各个特征的分布与分散状况 78
课后习题 79
第4章 pandas统计分析基础 80
任务4.1 读/写不同数据源的数据 80
4.1.1 读/写数据库数据 80
4.1.2 读/写文本文件 83
4.1.3 读/写Excel文件 87
4.1.4 任务实现 88
任务4.2 掌握DataFrame的常用操作 89
4.2.1 查看DataFrame的常用属性 89
4.2.2 查改增删DataFrame数据 91
4.2.3 描述分析DataFrame数据 101
4.2.4 任务实现 104
任务4.3 转换与处理时间序列数据 107
4.3.1 转换字符串时间为标准时间 107
4.3.2 提取时间序列数据信息 109
4.3.3 加减时间数据 110
4.3.4 任务实现 111
任务4.4 使用分组聚合进行组内计算 113
4.4.1 使用groupby方法拆分数据 114
4.4.2 使用agg方法聚合数据 116
4.4.3 使用apply方法聚合数据 119
4.4.4 使用transform方法聚合数据 121
4.4.5 任务实现 121
任务4.5 创建透视表与交叉表 123
4.5.1 使用pivot_table函数创建透视表 123
4.5.2 使用crosstab函数创建交叉表 127
4.5.3 任务实现 128
小结 130
实训 130
实训1 读取并查看P2P网络贷款数据主表的基本信息 130
实训2 提取用户信息更新表和登录信息表的时间信息 130
实训3 使用分组聚合方法进一步分析用户信息更新表和登录信息表 131
实训4 对用户信息更新表和登录信息表进行长宽表转换 131
课后习题 131
第5章 使用pandas进行数据预处理 133
任务5.1 合并数据 133
5.1.1 堆叠合并数据 133
5.1.2 主键合并数据 136
5.1.3 重叠合并数据 139
5.1.4 任务实现 140
任务5.2 清洗数据 141
5.2.1 检测与处理重复值 141
5.2.2 检测与处理缺失值 146
5.2.3 检测与处理异常值 149
5.2.4 任务实现 152
任务5.3 标准化数据 154
5.3.1 离差标准化数据 154
5.3.2 标准差标准化数据 155
5.3.3 小数定标标准化数据 156
5.3.4 任务实现 157
任务5.4 转换数据 158
5.4.1 哑变量处理类别型数据 158
5.4.2 离散化连续型数据 160
5.4.3 任务实现 162
小结 163
实训 164
实训1 插补用户用电量数据缺失值 164
实训2 合并线损、用电量趋势与线路告警数据 164
实训3 标准化建模专家样本数据 164
课后习题 165
第6章 使用scikit-learn构建模型 167
任务6.1 使用sklearn转换器处理数据 167
6.1.1 加载datasets模块中的数据集 167
6.1.2 将数据集划分为训练集和测试集 170
6.1.3 使用sklearn转换器进行数据预处理与降维 172
6.1.4 任务实现 174
任务6.2 构建并评价聚类模型 176
6.2.1 使用sklearn估计器构建聚类模型 176
6.2.2 评价聚类模型 179
6.2.3 任务实现 182
任务6.3 构建并评价分类模型 183
6.3.1 使用sklearn估计器构建分类模型 183
6.3.2 评价分类模型 186
6.3.3 任务实现 188
任务6.4 构建并评价回归模型 190
6.4.1 使用sklearn估计器构建线性回归模型 190
6.4.2 评价回归模型 193
6.4.3 任务实现 194
小结 196
实训 196
实训1 使用sklearn处理wine和wine_quality数据集 196
实训2 构建基于wine数据集的K-Means聚类模型 196
实训3 构建基于wine数据集的SVM分类模型 197
实训4 构建基于wine_quality数据集的回归模型 197
课后习题 198
第7章 航空公司客户价值分析 199
任务7.1 了解航空公司现状与客户价值分析 199
7.1.1 了解航空公司现状 200
7.1.2 认识客户价值分析 201
7.1.3 熟悉航空客户价值分析的步骤与流程 201
任务7.2 预处理航空客户数据 202
7.2.1 处理数据缺失值与异常值 202
7.2.2 构建航空客户价值分析关键特征 202
7.2.3 标准化LRFMC模型的5个特征 206
7.2.4 任务实现 207
任务7.3 使用K-Means算法进行客户分群 209
7.3.1 了解K-Means聚类算法 209
7.3.2 分析聚类结果 210
7.3.3 模型应用 213
7.3.4 任务实现 214
小结 215
实训 215
实训1 处理信用卡数据异常值 215
实训2 构造信用卡客户风险评价关键特征 217
实训3 构建K-Means聚类模型 218
课后习题 218
第8章 财政收入预测分析 220
任务8.1 了解财政收入预测的背景与方法 220
8.1.1 分析财政收入预测背景 220
8.1.2 了解财政收入预测的方法 222
8.1.3 熟悉财政收入预测的步骤与流程 223
任务8.2 分析财政收入数据特征的相关性 223
8.2.1 了解相关性分析 223
8.2.2 分析计算结果 224
8.2.3 任务实现 225
任务8.3 使用Lasso回归选取财政收入预测的关键特征 225
8.3.1 了解Lasso回归方法 226
8.3.2 分析Lasso回归结果 227
8.3.3 任务实现 227
任务8.4 使用灰色预测和SVR构建财政收入预测模型 228
8.4.1 了解灰色预测算法 228
8.4.2 了解SVR算法 229
8.4.3 分析预测结果 232
8.4.4 任务实现 234
小结 236
实训 236
实训1 求取企业所得税各特征间的相关系数 236
实训2 选取企业所得税预测关键特征 237
实训3 构建企业所得税预测模型 237
课后习题 237
第9章 家用热水器用户行为分析与事件识别 239
任务9.1 了解家用热水器用户行为分析的背景与步骤 239
9.1.1 分析家用热水器行业现状 240
9.1.2 了解热水器采集数据基本情况 240
9.1.3 熟悉家用热水器用户行为分析的步骤与流程 241
任务9.2 预处理热水器用户用水数据 242
9.2.1 删除冗余特征 242
9.2.2 划分用水事件 243
9.2.3 确定单次用水事件时长阈值 244
9.2.4 任务实现 246
任务9.3 构建用水行为特征并筛选用水事件 247
9.3.1 构建用水时长与频率特征 248
9.3.2 构建用水量与波动特征 249
9.3.3 筛选候选洗浴事件 250
9.3.4 任务实现 251
任务9.4 构建行为事件分析的BP神经网络模型 255
9.4.1 了解BP神经网络算法原理 255
9.4.2 构建模型 259
9.4.3 评估模型 260
9.4.4 任务实现 260
小结 263
实训 263
实训1 清洗运营商客户数据 263
实训2 筛选客户运营商数据 264
实训3 构建神经网络预测模型 265
课后习题 265
附录A 267
附录B 270
参考文献 295
《精通Python:从入门到精湛的编程之旅》 内容简介 《精通Python:从入门到精湛的编程之旅》是一本旨在为读者提供全面、深入的Python编程知识的著作。本书循序渐进,从Python语言的基础概念讲起,逐步引导读者掌握更高级的编程技巧和应用。无论您是初次接触编程的完全新手,还是希望系统性提升Python技能的开发者,本书都将是您不可或缺的学习伙伴。 第一部分:Python语言的基石 本书的开篇将为您打下坚实的Python编程基础。我们将从Python的安装和配置讲起,让您轻松迈出编程的第一步。随后,我们将深入讲解Python的核心语法,包括: 变量与数据类型: 理解Python中丰富的内置数据类型,如整型、浮点型、布尔型、字符串,以及它们的特性和常用操作。 运算符与表达式: 掌握各种算术运算符、比较运算符、逻辑运算符和赋值运算符,并学会构建复杂的表达式来处理数据。 流程控制语句: 深入学习`if`、`elif`、`else`条件语句,以及`for`和`while`循环,让您的程序能够根据不同情况做出决策并重复执行任务。 数据结构: 详细介绍Python中强大的内置数据结构,如列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。我们将探讨它们之间的区别、适用场景以及各种高效的操作方法,例如列表推导式、字典的键值对操作等。 函数: 学习如何定义和调用函数,理解参数传递(位置参数、关键字参数)、返回值、作用域等概念。通过函数,您可以组织代码、提高复用性,并使程序结构更加清晰。 模块与包: 探索Python强大的模块化机制,了解如何导入和使用标准库模块,以及如何创建自己的模块。我们将介绍包的概念,帮助您构建更大型、更复杂的项目。 第二部分:面向对象编程与高级特性 在掌握了Python的基本语法后,本书将带领您进入面向对象编程(OOP)的世界。OOP是一种强大的编程范式,能够帮助您编写更具组织性、可维护性和可扩展性的代码。您将学习: 类与对象: 理解类(Class)作为蓝图,对象(Object)作为类的实例的含义。学习如何定义类,包括属性(Attributes)和方法(Methods)。 封装、继承与多态: 深入理解面向对象编程的三大核心概念。封装将数据和操作封装在类中,提高安全性;继承允许创建新的类,继承现有类的属性和方法,实现代码重用;多态则使不同类的对象能够响应相同的消息,增加灵活性。 特殊方法(Dunder Methods): 掌握Python中以双下划线开头和结尾的特殊方法,例如`__init__`(构造函数)、`__str__`(字符串表示)、`__len__`(长度)、运算符重载等,让您的类更加“Pythonic”。 异常处理: 学习如何使用`try`、`except`、`finally`块来捕获和处理程序运行时可能出现的错误,确保程序的健壮性。 文件I/O: 掌握读写文本文件和二进制文件的各种方法,学习如何打开、读取、写入和关闭文件,以及文件指针的移动等高级操作。 第三部分:Python的高级编程技巧与实践 本部分将进一步拓展您的Python编程视野,介绍一些更为高级和实用的编程技巧,帮助您编写出更高效、更优雅的代码: 生成器(Generators): 学习如何创建和使用生成器,它们能够按需生成数据,极大地节省内存,尤其适用于处理大型数据集。我们将重点介绍生成器表达式和`yield`关键字。 迭代器(Iterators): 理解迭代器协议,学习如何创建自定义的迭代器,以及如何利用迭代器来遍历各种数据结构。 装饰器(Decorators): 深入解析装饰器的概念和实现原理,学习如何使用装饰器来修改函数或类的行为,例如日志记录、性能分析、权限控制等。 上下文管理器(Context Managers): 掌握`with`语句的使用,学习如何编写自定义的上下文管理器,用于资源管理,如文件操作、数据库连接的自动打开和关闭。 并发与并行: 介绍Python中实现并发和并行编程的几种常用方法,包括多线程(threading)和多进程(multiprocessing),并探讨它们在不同场景下的适用性。 正则表达式(Regular Expressions): 学习如何使用Python的`re`模块进行强大的文本模式匹配和处理,这在数据提取、验证和清洗中至关重要。 第四部分:Python在实际项目中的应用 理论知识的学习离不开实际的应用。本书的最后部分将带领您将所学知识应用于实际的项目开发中,让您体验Python的强大魅力: Web开发基础: 介绍Python在Web开发中的应用,重点讲解使用Flask或Django等主流Web框架构建简单Web应用的流程和基本概念。 API交互: 学习如何使用Python的`requests`库与RESTful API进行交互,发送HTTP请求,处理响应数据,从而实现与其他服务的集成。 数据处理与自动化: 演示如何利用Python脚本实现日常工作的自动化,例如文件管理、数据批量处理、定时任务执行等。 网络编程入门: 介绍Python的网络编程能力,学习如何使用`socket`模块创建简单的客户端-服务器应用程序。 软件工程实践: 探讨一些基础的软件工程原则,如代码组织、版本控制(Git基础)、单元测试等,帮助您养成良好的编程习惯。 本书特色: 循序渐进的教学方法: 内容组织合理,从易到难,层层递进,确保读者能够逐步掌握Python的精髓。 丰富的代码示例: 书中包含大量经过精心设计的代码示例,并附有详细的解释,帮助读者理解概念并快速实践。 实战项目导向: 强调理论与实践相结合,通过实际项目案例来巩固所学知识。 注重编程思想: 不仅教授语法,更注重培养读者的编程思维和解决问题的能力。 面向广阔读者群体: 无论您是学生、初学者,还是有一定编程基础的开发者,都能从本书中获益。 《精通Python:从入门到精湛的编程之旅》将陪伴您踏上一段充实而富有成效的Python编程学习之旅。通过本书的学习,您将不仅能够熟练运用Python解决各种问题,更能深刻理解编程的逻辑和艺术,为您的技术生涯打下坚实的基础,开启无限可能。