
本书系统介绍数据科学的核心概念、基本方法和关键技术,内容涵盖数据科学的导向目标,涉及科学计算、数据处理和分析、数据可视化等关键知识环节。本书基于 Python 技术框架实现,内容注重理论和实践的有机融合,克服单调、晦涩的知识累积之苦,以问题为导向,学以致用,提供了大量的案例代码和样本数据集,可以为学习者平添几分学习的乐趣。本书既适用于高等院校“数据科学与大数据技术”专业人才的基础培养,也适用于信息处理相关专业人才的能力提升,能够为数据科学从业者和相关学科的科研工作者提供必要的技术支撑。
前 言 大数据时代,互联网的普及和应用,每时每刻数据的涌现,使得数据科学真正成为大家关注的焦点。数据科学是一门多学科交叉的科学,数据科学的兴起,也推动了相关学科的发展,且与人工智能的结合越来越紧密,数据治理和数据赋能任重道远。按照数据科学的基本路径和方法,系统地学习和掌握数据科学的理论和方法,并在实践中应用和提高,是目前广大数据科学工作者和数据科学爱好者达成的普遍共识。本书是对数据科学的概念、技术和应用的介绍,涵盖数据科学的基本知识体系,以科学计算、数据处理和分析、数据可视化为重点,共分为 5 章。第 1 章为数据科学概述,本章系统介绍数据科学、大数据技术的核心概念、知识体系、基本流程和关键技术,读者可以通过其中的关键词查阅相关的文献,进一步巩固和掌握大数据的技术和应用。第 2 章为 Python 基础,本章介绍 Python 的关键语法和结构知识。如果已经有Python 的基础,本章可以略过。如果没有,也不需要精通 Python 知识,可以做简化处 理,或者通过相应的网络课程,花几个小时的时间快速了解这些知识。第 3 章为科学计算——Numpy,本章使用 Numpy 库进行科学计算,涉及统计学、线性代数基础数学知识。内容逻辑可有效克服单纯数学学习的乏味,做到在用中学。 在掌握技术的同时,贯穿数据计算相关的数学知识,也能为后续的数据处理和分析打好基础。第 4 章为数据处理和分析——Pandas,本章使用 Pandas 库的标准数据模型和操作大型数据集的工具,运用科学的方法,快速便捷地进行数据处理和分析,包括数据的加载、数据清洗和预处理、典型的数据处理和分析方法实践、时间序列分析等,以更好地探索和利用数据。第 5 章为数据可视化——Matplotlib,本章以 Matplotlib 库为主,对数据进行二维、三维及动态可视化展现,以更好地理解数据,探索和发现数据中潜在的价值和模式。同时,满足部分专业需求,对网络结构可视化进行探索。本书并不需要高级数据科学的知识,如机器学习算法、大数据平台和技术等,内容覆盖数据科学的导向目标,既可以用于数据科学与大数据技术专业的核心基础课程,也可以作为信息安全、信息管理与信息系统、生物信息学等相关专业的能力提升课程。同时,也能够为科研工作者提供必要的工具支撑。.IV·本书采用基于问题的方法来引入新概念,读者对象相对宽泛,对数据科学和大数据技术的初学者是非常有益的。针对不同问题的代码解决方案,对学习者是一种很好的实践,对立志于数据科学的从业者,进一步学习和掌握高级数据科学知识,不断拓展知识 和技能,成为可有效借鉴的基准。本书的程序源代码等课程资源可以从华信教育资源网( http://www.hxedu.com.cn)下载。基于 Python 技术支持,优雅地进行数据计算、处理和分析以及数据的可视化表达,是进行数据科学入门非常有效的途径,必将为数据科学的学习和理解,养成数据思维的良好习惯,成长为一名优秀的数据科学人才,发挥不可替代的堡垒作用。数据驱动未来,信数据得永生。 ——《未来简史》 编者按 2021 年 12 月
目 录 第 1 章 数据科学概述 ··················································································1 1.1 什么是数据科学? ············································································1 1.2 大数据技术·····················································································6 1.3 数据未来·····················································································.20 第 2 章 Python 基础··················································································.23 2.1 编程环境与规范············································································.23 2.2 数据类型、数据载体及运算 ····························································.25 2.3 序列结构·····················································································.30 2.4 程序流程控制···············································································.38 2.5 函数···························································································.40 2.6 字符串························································································.45 2.7 文件操作·····················································································.50 2.8 面向对象程序设计·········································································.51 第 3 章 科学计算—— Numpy······································································.57 3.1 计算基础·····················································································.58 3.1.1 什么是科学计算? ·······························································.58 3.1.2 Numpy 基础········································································.62 3.2 数组的创建与访问·········································································.65 3.2.1 创建数组 ···········································································.66 3.2.2 数组的访问 ········································································.72 3.3 数组的基本操作············································································.74 3.4 数组的基本运算············································································.85 3.5 矩阵基础及运算············································································112 3.6 Numpy 的简单应用········································································127 第 4 章 数据处理和分析—— Pandas ·····························································135 4.1 数据结构·····················································································136 4.1.1 常用数据结构 ·····································································136 4.1.2 数据类型 ···········································································137 4.1.3 数据类型的简单使用 ····························································138 4.1.4 系列的基本使用 ··································································140.VI· 4.1.5 数据帧的基本使用 ·······························································145 4.2 数据加载与文件格式······································································154 4.2.1 Pandas 的 I/O 功能································································155 4.2.2 数据读写与文件格式 ····························································158 4.3 数据清洗与预处理·········································································184 4.3.1 检测与处理缺失值 ·······························································185 4.3.2 检测和处理重复值 ·······························································192 4.3.3 检测和处理异常值 ·······························································197 4.3.4 数据转换 ···········································································201 4.3.5 数据匹配 ···········································································213 4.3.6 数据标准化 ········································································218 4.4 数据处理与分析············································································221 4.4.1 层次化索引 ········································································222 4.4.2 数据连接与合并 ··································································234 4.4.3 数据聚合与分组运算 ····························································245 4.5 时间序列分析···············································································261 4.5.1 时间序列基础 ·····································································261 4.5.2 时间戳( Timestamp) ···························································265 4.5.3 时区( Timezone) ·······························································274 4.5.4 时期( Period) ····································································277 4.5.5 时间差( Timedelta) ····························································283 4.5.6 时间序列重构 ·····································································285 4.6 Pandas 高级应用 ···········································································302 4.6.1 分类数据 ···········································································302 4.6.2 链式编程技术 ·····································································310 第 5 章 数据可视化—— Matplotlib·······························································315 5.1 绘图基础·····················································································315 5.2 二维图形可视化············································································328 5.3 三维图形可视化············································································354 5.4 使用动画·····················································································365 5.4.1 使用 Animation 模块创建动画 ·················································365 5.4.2 使用 OpenGL 创建动画 ·························································373 5.5 复杂网络结构可视化······································································379 5.5.1 网络可视化基础 ··································································380 5.5.2 网络图的生成 ·····································································385 5.5.3 网络图的绘制 ·····································································387
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0428170