-
第一章数据科学概述
从总体上认识和理解数据科学、大数据技术的基本内涵和方法、数据的处理流程等,构建数据科学研究和学习的基本知识框架。
-
●1.1什么是数据科学?
从数据科学韦恩图出发,了解数据科学的基本内涵、数据处理的一般流程以及数据科学团队的组成,形成对数据科学的基本认识和理解。
-
●1.2大数据技术及数据未来
(1)认识和了解大数据的基本特征、大数据时代的主要特点、大数据处理的基本流程以及涉及的关键技术,对将来大数据平台和技术的学习和掌握起到引领作用。 (2)以中国计算机学会发布的大数据未来发展趋势预测为基础,描述数据赋能未来可能的方向。但现在不代表未来,随着数据科学、大数据的深入发展,必然会遇到新的问题。
-
第二章Python语言基础
课程示例基于Python技术实现,因此,对Python语言的学习和掌握是必要的。本章涉及Python语言的精华内容,适合没有Python语言基础的人员学习。如果对Python语言已经有一定的学习和掌握,本章内容可以略过。
-
●2.1编程环境与规范
涉及Python语言的主要特点、Python IDLE环境的使用、Python第三方库的安装和导入、Python程序设计语言的风格及编程规范。
-
●2.2数据类型、数据载体及运算
Python内置的数据类型、两种数据载体形式:常量和变量、运算符和表达式、内置函数的使用。
-
●2.3序列结构
字符串(str)、列表(list)、元组(tuple)、字典(dict)、集合(set)序列的使用。涉及列表推导式、切片、生成器推导式、序列解包的使用和理解。
-
●2.4程序流程控制
条件表达式的理解和使用,Python程序的三种基本控制结构的实现,涉及if分支语句、while循环语句、for循环语句的语法和使用规则。
-
●2.5函数
Python函数的定义、函数的参数和返回值、函数参数的不同形式、变量的作用域、生成器函数。
-
●2.6字符串
字符串的编码格式、字符串的格式化、字符串的方法及相关操作。
-
●2.7文件操作
文件的操作模式、文件对象的常用方法,掌握文件的基本操作。
-
●2.8面向对象程序设计
“一切皆对象”是Python的基本理念,本节初步掌握Python中类的定义和使用、私有成员和公有成员、类属性和方法的使用。
-
第三章科学计算-Numpy
从科学计算的角度,将数学和统计学知识与Numpy技术有机融合,奠定数据计算的基础。涉及ndarray数组的使用、大量的线性代数和统计学的基础知识以及梯度、卷积、傅里叶变换等,使用Numpy技术实现。
-
●3.1计算基础
介绍科学计算的基本概念、误差的定义和计算方法、Numpy库的安装和导入、Numpy的数据类型等。
-
●3.2数组的创建与访问
数组创建的不同方式、特殊二维数组(对角矩阵、三角矩阵、范德蒙德矩阵)的创建、多维数组的创建等,涉及相关函数的使用,线性代数的知识理解和掌握。ndarray对象是Numpy最主要的数据结构,对该对象的属性、数组中元素的访问是使用ndarray对象的基础。
-
●3.3数组的基本操作
涉及数组元素的操作、索引操作、轴操作等,要理解视图、浅复制、深复制的使用以及数组的向量化处理。
-
●3.4数组的基本运算
对数组中数据的运算,包括布尔运算、算术运算、函数运算、统计计算等,涉及线性代数、统计数学等基础知识,是Numpy扩展库进行数据处理的重要组成部分,也是在Python环境中使用其他数据处理和分析扩展库的基础。
-
●3.5矩阵基础及运算
矩阵的基础知识、矩阵的相关运算函数的使用。
-
●3.6Numpy简单应用
排序、搜索、计数、分段、快速傅里叶变换的简单应用。
-
第四章数据处理和分析-Pandas
Pandas库使用扩展的数据类型,关注数据的应用,积极表达数据与索引间的关系,提供了许多适合计算和分析的数据结构与类型,可帮助完成数据的基本操作、运算操作、特征类操作、关联类操作等各类操作。因此,本章使用Pandas技术,从数据的加载到数据的清洗和预处理,再到数据的处理和分析,特别是时间序列的分析等,符合数据科学的一般过程,是学习者需要特别重视的环节。
-
●4.1数据结构
介绍Pandas数据结构与基本数据类型之间的关系、熟悉系列(Series)的使用、数据帧(DataFrame)的使用、对系列和数据帧中数据的访问等。
-
●4.2数据加载与文件格式
介绍Pandas的I/O处理功能、对文本和二进制类型不同格式文件的读写以及与Web APIs、数据库的交互等,要熟练使用相应的文件读写函数,以满足数据处理的基本要求。其中也涉及简单的数据预处理,如选取合适的数据子集、消除不良数据等。
-
●4.3数据清洗与预处理
在许多应用中,数据可能分散在许多不同的文件或数据库中,存储的形式也不利于分析。同时,对数据集进行分组并对各组应用一个函数(无论是聚合还是转换),通常是数据分析工作中的重要环节。因此,本节内容着重介绍数据清洗和预处理的基本方法,包括缺失值、重复值和异常值的检测与处理,以及数据转换、数据匹配和数据的标准化。
-
●4.4数据处理与分析
介绍数据聚合、合并和重塑的方法,包括数据的分组与统计运算、层次化索引的使用、轴向变换在数据规整中的使用,分组时迭代、索引级别与数据聚合的使用等。
-
●4.5时间序列分析
时间序列(time series)数据是一种重要的结构化数据形式,在多个时间点观察或测量到的任何事物都可以形成一个时间序列。很多时间序列是固定频率的,也可以是不定期的,没有固定的时间单位或单位之间的偏移量。时间序列数据的意义取决于具体的应用场景。本节内容主要介绍时间戳(timestamp)、时区(Timezone)、固定时期(period)、时间差(Timedelta)的使用,这是进行时间序列数据处理和分析的基础。此外,对时间序列的重构涉及时间序列相应的实例方法,包括频率转换函数asfreq()、位移函数shift()、重采样函数resample()、窗口移动函数rolling()等,支持时间序列数据的聚合、分组迭代等操作。
-
●4.6Pandas高级应用
本节内容适用于Pandas的高级用户,可选。包括分类的类型、分类计算、分类方法等;分组的时间重采样、GroupBy高级应用、链式编程技术等,目标是提高数据处理的性能和效率。
-
第五章数据可视化-Matplotlib
在数据处理和分析的基础上,为更好地理解数据,探索和发现数据潜在的价值和模式,选择合适地数据表现形式,即进行数据的可视化处理是目前数据科学研究和应用中非常重要的一个环节。
-
●5.1绘图基础
认识和理解图表中的各组成部分,并结合相应的绘图函数绘制图形,是进行数据可视化的基础。涉及图表的组成、坐标轴的长度与范围、图表的线型和颜色、刻度、刻度标签和网格的使用、图例和注解的使用、子区的使用、图表中的填充区域。目标是认知图表各组成部分的特点,以便能够合理使用不同类型的图表。
-
●5.2二维图形可视化
本节以示例方式,介绍二维图形可视化的方法及Matplotlib库等相关函数的使用,包括柱状图、散点图、饼图、堆积图、直方图、等高线图、极坐标图、火柴杆图、矢量场流线图、相关图、词云图的绘制和使用。目标是理解和掌握不同的2D图表的应用场景并合理使用。
-
●5.3三维图形可视化
数据的三维可视化在有些情况下更加有效,甚至是唯一的选择,能够更清晰地呈现数据之间的关系,方便用户观察和数据模式的提取。本节的主要内容是使用mpl_toolkits.mplot3d工具包绘制3D图表,包括三维散点图(scatter)、柱状图(bar)、线图(line)或线框图(wireframe)、曲面图(surface)或三翼面图(tri-surface)、网格图(mesh)等的绘制。目标是3D图表绘制流程的准确理解和使用。
-
●5.4使用动画
动画和交互式图表能够更加吸引用户的注意力,在解释某一状态随单个或多个变量的变化而改变的情形时,动画有着更强的描述性。本节主要介绍生成动画的两种方式,即使用matplotlib.animation模块创建动画和使用OpenGL创建动画。目标是理解动画创建的过程、准确使用相应的工具包。
-
●5.5复杂网络结构可视化
复杂网络的可视化,需要首先具备复杂网络的基础知识。本节的主要内容是利用NetworkX库,进行网络结构图的绘制,包括无向图的创建、节点和边的操作、图中节点和边的属性设置;有向图的使用;生成规则图、ER随机图、WS小世界网络图、BA无标度网络图的实例及其相关操作。本节内容的学习,需要掌握NetworkX的基本使用方法,具备一定的专业背景知识。





