Python数据分析与应用
作者 : 王恺,路明晓,于刚,张月久 编著
出版日期 : 2021-07-14
ISBN : 978-7-111-68160-1
适用人群 : 高校计算机、大数据、人工智能及其他相关专业本科生
定价 : 69.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 246
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书基于作者多年来的课程教学经验和利用Python进行数据分析的工程经验编写而成,面向数据分析的初学者,使其具备利用Python开展数据分析工作、解决各专业问题的思维和能力。高校计算机、大数据、人工智能及其他相关专业均可使用本书作为数据分析课程教材。

图书特色

图书前言

数据分析是对数据进行检查、清理、转换和建模的过程,有助于从数据中发现规律并制定科学的决策,目前已广泛应用于自然科学、社会科学和管理科学的各个领域。各专业的学生都有必要掌握数据分析的基本原理和经典方法,了解数据分析能做什么、如何做数据分析,并掌握基本的数据分析流程,当遇到专业问题或进行专业研究时能主动应用数据分析方法解决问题,完成一些具有创新性的工作。
Python是当前数据分析工作中常用的编程语言,它是一种代表简单主义思想的语言,可以使用尽量少的代码完成更多的工作。Python使用户能够专注于解决问题而不是理解语言本身。另外,Python有简洁的说明文档、丰富的第三方库,使得初学者很容易上手。掌握Python编程的基础知识有助于各专业人员更好地开展数据分析相关的工作,更好地解决实际工作中的问题。
本书是在教育部产学合作协同育人项目的支持下,由南开大学计算机学院的教师与北京华育兴业科技有限公司的技术专家合作编写而成的。作者结合多年教学经验,在分析各专业人员的数据分析工作需求的基础上安排本书内容,可作为高校大数据、计算机、人工智能等专业和对数据分析有需求的其他专业学生的教材,也可作为Python数据分析开发人员的参考手册。本书针对每一个知识点提供了实例,通过具体问题向读者展示了基于Python的数据分析程序的编写方法,方便读者学习基于Python开展数据分析工作的方法和过程,帮助读者快速掌握基于Python的数据分析方法并初步具备利用相关知识解决实际数据分析问题的能力。在本书配套资源中,我们也提供了数据分析实例源代码,读者可通过动手实践掌握数据分析方法和基于Python的编程实现,为使用Python编程语言解决更复杂的数据分析问题打下良好的基础。
在利用本书学习Python数据分析知识时,建议读者多思考、多分析、多动手实践。当看到一个数据分析问题时,首先要自己分析该问题,设计求解该问题的算法;然后梳理程序结构,编写程序实现算法;最后运行程序,并通过系统的错误提示或通过程序调试方法解决程序中的语法错误和逻辑错误。只有这样,才能真正掌握利用Python进行数据分析工作的方法,进而在实际工作中熟练运用相关知识解决具体问题。另外,丰富的第三方工具包是Python语言的优势之一。在学习一个新的工具包时,首先应掌握该工具包提供的数据类型(可以用于存储哪些数据),再根据需要掌握常用的数据操作方法(可以对数据做哪些操作)。我们在做系统设计时亦是如此,先确定系统中涉及的数据,再考虑可以对这些数据进行哪些操作。
本书的特色有以下几点:
1)问题导向,通过大量程序实例使读者更直观地理解Python数据分析的方法和过程。
2)重点/难点突出,通过大量“提示”向读者详细说明学习过程中需重点掌握或不容易理解的内容。
3)知识系统完整,对涉及的每个知识点都给出了详细介绍,更加适合初学者作为教材或开发人员作为参考手册。
本书共分为8章,各章内容的简单介绍如下。
第1章首先介绍数据分析的基本概念和基本流程,列举了一些应用场景,使读者认识数据分析在实际应用中的重要意义。接下来,通过一个程序示例帮助读者理解数据分析的基本流程。然后,结合上机操作指导和程序实例简要介绍数据分析领域广泛使用的Python程序设计语言的知识,包括Anaconda集成平台和Jupyter Notebook开发环境的使用方法,以及内置数据类型、程序的控制结构、模块化、面向对象、文件操作、异常处理等。最后,提供两个简单的包/模块使用示例。第一个例子利用csv模块完成CSV文件的读/写操作;第二个例子利用random模块实现生成随机数的功能和利用time模块实现时间处理的功能,并给出排序时间随问题规模(即待排序元素数量)变化的实验。
第2章首先介绍NumPy中用于存储数组数据的ndarray类,通过对列表与ndarray的排序和求和时间的比较分析,讨论了ndarray在大数据分析中的优势,并依次介绍ndarray类对象的常用属性和创建方法。然后,介绍利用tushare工具包获取该章实例所使用的股票数据的方法,并介绍如何利用NumPy提供的loadtxt和savetxt函数完成CSV文件的读写操作。最后,结合获取的股票数据,通过实例详细介绍索引和切片、数据拷贝、数据处理和高级索引等方面的知识,使读者能够更好地掌握NumPy的应用方法。
第3章首先介绍Pandas中常用的数据结构—Series类和DataFrame类,以及轴标签的数据结构Index类,并通过代码实例详细地介绍它们的常用对象属性和创建方法。然后,详细介绍Series和DataFrame的多种元素访问方式,包括属性运算符访问、索引运算符访问、loc和iloc方法、at和iat方法、head和tail方法等。在此基础上,介绍Pandas提供的数据清洗方法、常用的数据合并方法(merge、join和concat等),以及等常用的数据重塑方法(pivot和melt等)。最后通过实例详细介绍利用Pandas工具包进行数据清洗、数据预处理、数据重塑的操作过程,使读者能够更好地掌握Pandas的应用方法。
第4章首先介绍Pandas中用于基本统计分析的相关函数,并依次介绍分组分析、分布分析、交叉分析、结构分析和相关分析的基本方法,对相关函数及其应用方式进行了详细讲解。最后,结合概率论的相关知识,实现了用样本数据估计某个参数值大概率位于哪个区间的过程。
第5章首先介绍时间序列分析的基本概念,给出用于创建并处理日期和时间类对象的Datetime模块。然后,通过示例展示时间和日期的格式处理方法,以及时间差的计算方法。最后,给出频率转换和重采样相关函数的使用示例。
第6章首先介绍Python数据可视化工具Matplotlib的基本使用方法,并通过实例详细介绍线形图、条形图、饼图、散点图和直方图等常用图表的绘制方法。然后,介绍更高级的数据可视化工具Seaborn,并通过实例详细介绍关系图、分布图、分类图、回归图和热力图等不同功能图表的绘制方法。在此基础上,介绍网页数据可视化工具Pyecharts提供的可视化图表类和图表配置,并通过实例详细介绍用Pyecharts绘制图表的方法。最后,通过应用实例详细介绍利用Matplotlib、Seaborn和Pyecharts工具对二手房房价数据进行可视化分析的过程。
第7章首先介绍Python爬虫开发中的Requests模块,并通过对相关函数的调用示例,实现向指定URL发送各类数据请求的功能。然后,介绍利用Beautiful Soup实现从网页中提取数据的相关功能。最后,提供了一个获取网页间连接拓扑信息的爬虫设计例程。
第8章首先简单地介绍MySQL数据库以及如何在Windows系统中安装和设置MySQL数据库。然后,详细介绍在MySQL命令模式下如何创建数据库和数据表,以及如何利用Python数据库驱动工具PyMySQL连接、读取和存储数据库。在此基础上,详细介绍如何通过Python编程对数据进行查询、插入、更新和删除等操作。最后,通过实例介绍如何利用Python实现一个简单的学生信息管理系统。
本书的编写分工如下:王恺负责第1章、第2章和附录的编写,并负责全书的统稿和定稿;路明晓负责第3章、第6章和第8章的编写;于刚负责第4章、第5章和第7章的编写;张月久负责本书配套实验开发。
在本书的编写过程中,得到了机械工业出版社华章分社朱劼编辑的大力支持,在此表示真诚的感谢!
本书在编写过程中参考了部分国内外Python数据分析方面的书籍和网络资料,力求有所突破和创新,在此向这些资料的作者表示感谢。由于能力和水平的限制,书中难免出现不妥或疏漏之处,恳请读者指正。

作者
2021年1月于南开园

上架指导

计算机/大数据

封底文字

数据分析的主要工作是对数据进行检查、清理、转换和建模,目标是发现数据中的规律并制定科学的决策。各专业的学生和工作者都有必要掌握基本的数据分析原理和经典方法,了解数据分析的常用技术,并应用数据分析思维和方法解决本专业实际工作中的问题。本书基于作者多年的教学和工程项目经验编写而成,帮助读者快速掌握数据分析的方法并具备利用相关知识解决实际应用问题的能力。
本书特点
问题导向。本书始终以解决实际问题为宗旨,在各章中通过丰富的程序实例使读者更直观地理解并掌握应用数据思维分析问题、利用Python数据分析解决问题的方法和过程。
知识系统完整,重点和难点突出。本书针对初学者的需求,凝炼出必须掌握的知识点,并给出详细的介绍。通过“提示”、关键代码注释等详细解释重点和难点,并通过案例多角度地展示重要知识点的应用方法,着重培养分析和实践能力。由于数据分析是一项需要多分析、多动手的工作,因此针对每个数据分析问题,都按照分析问题、设计求解问题的算法、给出程序及运行结果、分析程序中的关键点并提示易错处的思路进行讲解。
强调Python工具库的应用。丰富的第三方工具库是Python语言的重要优势之一,利用工具库将使数据分析工作事半功倍。本书在介绍工具包时,首先介绍工具包提供的数据类型(即可以用于存储哪些数据),再根据问题介绍相关的数据操作方法(即可以对数据做哪些操作),从而培养读者对工具包的学习和应用能力。

图书目录

前言
第1章 基础知识1
1.1 数据分析简介1
1.2 Python编程基础4
1.2.1 Anaconda环境的安装和配置5
1.2.2 Jupyter Notebook的使用7
1.2.3 内置数据类型11
1.2.4 程序的控制结构12
1.2.5 模块化13
1.2.6 面向对象14
1.2.7 文件操作16
1.2.8 异常处理17
1.3 包/模块使用示例18
1.3.1 CSV文件操作18
1.3.2 排序时间测试20
1.4 本章小结24
1.5 习题25
第2章 科学计算基础工具包NumPy27
2.1 ndarray类27
2.1.1 为什么使用ndarray28
2.1.2 ndarray类对象的常用属性30
2.1.3 创建ndarray类对象32
2.2 示例数据35
2.3 索引和切片38
2.4 数据拷贝40
2.5 数据处理43
2.5.1 基础运算43
2.5.2 广播机制47
2.5.3 通用函数48
2.5.4 常用函数和方法51
2.6 高级索引58
2.7 本章小结62
2.8 习题63
第3章 数据分析工具库Pandas66
3.1 Series类66
3.1.1 Series对象的常用属性66
3.1.2 创建Series对象67
3.2 DataFrame对象69
3.2.1 DataFrame对象的常用属性70
3.2.2 创建DataFrame对象72
3.3 Index对象74
3.3.1 Index对象的常用属性74
3.3.2 创建Index对象74
3.4 元素访问方式75
3.4.1 属性运算符访问76
3.4.2 索引运算符访问77
3.4.3 loc访问方法81
3.4.4 iloc访问方法83
3.4.5 at和iat索引方法86
3.4.6 head和tail方法87
3.5 数据清洗88
3.5.1 处理缺失数据88
3.5.2 删除重复数据92
3.6 数据合并94
3.6.1 merge方法94
3.6.2 join方法97
3.6.3 concat方法100
3.7 数据重塑103
3.7.1 pivot方法103
3.7.2 melt方法104
3.8 Pandas数据处理实例106
3.8.1 药品销售数据处理实例106
3.8.2 流感与人口数据处理实例110
3.9 本章小结113
3.10 习题114
第4章 数据统计分析119
4.1 基本统计分析119
4.2 分组分析121
4.2.1 定性分组121
4.2.2 定量分组123
4.3 分布分析124
4.4 交叉分析125
4.5 结构分析127
4.6 相关分析128
4.7 应用实例131
4.8 本章小结133
4.9 习题133
第5章 时间序列分析135
5.1 Datetime模块135
5.2 时间序列基础137
5.3 日期时间处理140
5.4 频率转换与重采样143
5.4.1 频率转换143
5.4.2 重采样145
5.5 本章小结151
5.6 习题151
第6章 数据可视化153
6.1 Matplotlib153
6.1.1 线形图153
6.1.2 条形图155
6.1.3 饼图156
6.1.4 散点图158
6.1.5 直方图159
6.2 Seaborn160
6.2.1 关系图161
6.2.2 分布图163
6.2.3 分类图167
6.2.4 回归图170
6.2.5 热力图172
6.3 Pyecharts173
6.3.1 Pyecharts图表类173
6.3.2 Pyecharts图表配置174
6.4 应用实例177
6.5 本章小结182
6.6 习题183
第7章 网络爬虫187
7.1 网络数据获取187
7.2 数据文件操作196
7.3 应用实例203
7.4 本章小结208
7.5 习题208
第8章 MySQL数据库操作210
8.1 MySQL简介210
8.2 MySQL的安装211
8.3 连接、读取和存储214
8.3.1 创建数据库和数据表214
8.3.2 Python连接数据库217
8.3.3 Python读取数据库218
8.3.4 Python存储数据库219
8.4 数据操作222
8.4.1 查询操作222
8.4.2 插入操作223
8.4.3 更新操作225
8.4.4 删除操作226
8.5 应用实例227
8.6 本章小结233
8.7 习题233
附录 NumPy通用函数235
参考文献238

教学资源推荐
作者: (美)Philip J.Pratt
作者: David E.Culler, Jaswinder Pal Singh, Anoop Gupta
作者: 李改成 编著
参考读物推荐
作者: 尹继平 张帆 编著
作者: (美)Joe Duffy 著
作者: 田勇 等编著