内容简介
本书通过真实案例,全面介绍Python 3编程基础及其数据分析工具的应用,培养读者通过数据分析问题、解决问题以及对结果评价的能力。全书内容包括:Python 3基本配置和编程基础、编程进阶、数据预处理、数据描述与数据探索、绘图与可视化、统计推断、相关分析、关联分析、回归分析、主成分和因子分析、聚类、判别与分类、列联分析、对应分析、定性数据分析、神经网络和深度学习、时间序列分析、信号滤波等,将读者关注的基本数据分析方法进行剖析。
作者介绍
阮敬(1979.10—),博士、教授、博士生导师。现任首都经济贸易大学数据科学学院副院长,兼任第七届全国统计教材编审委员会学术委员、数据科学与大数据应用组副组长,中国现场统计研究会副秘书长、经济与金融统计分会副理事长,中国统计教育学会副秘书长、高等教育分会秘书长,全国工业统计学教学研究会常务理事、青年统计学家协会创始秘书长,北京大数据协会副会长、秘书长,《统计学报》《统计与精算》编委等。在国内外发表论文70余篇,出版专著、译著、教材16本,主持国家级和省部级项目及各级政府与企事业单位课题50余项,先后10余次荣获省部级及以上科研和教学奖励。 刘帅,(1989.10—),博士,北京工商大学数学与统计学院讲师,兼任北京大数据协会副秘书长、理事。有多年丰富的国内外数据行业从业经历,主要从事大数据分析与数据自动化相关研究工作。
目录
第1章 Python编程基础 1.1 Python系统配置 1.1.1 在macOS和Windows系统中安装Python 1.1.2 在Linux系统中安装Python 1.1.3 使用Jupyter Notebook 1.1.4 内核升级 1.1.5 本书约定 1.2 Python基础知识 1.2.1 帮助 1.2.2 标识符 1.2.3 行与缩进 1.2.4 对象 1.2.4.1 赋值与绑定 1.2.4.2 浅复制与深复制 1.2.4.3 对象操作的实质 1.2.5 数字与表达式 1.2.6 运算符 1.2.7 字符串 1.2.7.1 转义字符 1.2.7.2 字符串格式化 1.2.7.3 字符串的内置方法 1.2.8 日期和时间 1.2.9 语法糖 1.2.10 魔术命令 1.3 数据结构与序列 1.3.1 列表 1.3.1.1 列表索引和切片 1.3.1.2 列表操作 1.3.1.3 内置列表函数 1.3.1.4 列表方法 1.3.2 元组 1.3.3 字典 1.3.4 集合 1.3.5 推导式 1.4 语句与控制流 1.4.1 条件语句 1.4.2 循环语句 1.4.2.1 while循环 1.4.2.2 for循环 1.4.2.3 循环控制 1.5 函数 1.5.1 函数的参数 1.5.2 对象的作用域 1.5.2.1 全局对象与局部对象 1.5.2.2 非局部对象 1.5.3 匿名函数 1.5.4 递归 1.5.5 闭包 1.5.6 柯里化与反柯里化 1.5.7 常用的内置高阶函数 1.5.7.1 filter函数 1.5.7.2 map函数 1.5.7.3 reduce函数 1.6 迭代器、生成器和装饰器 1.6.1 迭代器 1.6.2 生成器 1.6.2.1 生成器函数 1.6.2.2 生成器表达式 1.6.2.3 嵌套生成器 1.6.3 装饰器 1.7 正则表达式 1.7.1 正则表达式语法 1.7.2 re模块 1.7.2.1 模式标识 1.7.2.2 模式匹配 1.7.2.3 模式查找 1.7.2.4 模式分割 1.7.2.5 模式替换 1.7.2.6 模式转义 第2章 Python编程进阶 2.1 类 2.1.1 声明类 2.1.2 方法 2.1.2.1 实例方法 2.1.2.2 类方法 2.1.2.3 静态方法 2.1.2.4 魔法方法 2.1.3 属性 2.1.3.1 实例属性和类属性 2.1.3.2 私有属性和公有属性 2.1.4 继承 2.1.4.1 隐式继承 2.1.4.2 显式覆盖 2.1.4.3 super继承 2.1.4.4 多态 2.1.4.5 多重继承 2.1.5 特性 2.2 异常捕获与容错处理 2.2.1 错误和异常 2.2.2 异常处理 2.2.2.1 触发异常 2.2.2.2 捕获异常 2.2.2.3 其他处理 2.3 模块 2.4 包 2.4.1 包的组成与调用 2.4.2 常用数据分析工具库 2.4.2.1 SciPy 2.4.2.2 statsmodels 2.4.2.3 scikit-learn 2.4.2.4 TensorFlow 2.4.2.5 PyTorch 2.5 文件I/O 2.6 多核并行计算 2.6.1 串行 2.6.2 多进程 2.7 GPU计算 2.7.1 GPU的特点 2.7.2 CuPy GPU加速 2.7.3 Numba GPU加速 2.7.4 PyTorch GPU加速 2.8 日志系统 2.8.1 logging模块 2.8.2 输出日志到终端 2.8.3 输出日志到文件 2.8.4 日志分级 2.8.5 日志格式 第3章 数据预处理与数据探索 3.1 NumPy基础 3.1.1 向量 3.1.2 数组 3.1.2.1 数据类型与结构数组 3.1.2.2 索引与切片 3.1.2.3 数组的属性 3.1.2.4 数组排序 3.1.2.5 数组维度 3.1.2.6 数组组合 3.1.2.7 数组分拆 3.1.2.8 ufunc运算 3.1.3 矩阵 3.1.4 文件读写 3.2 pandas基础 3.2.1 pandas的基础数据结构 3.2.1.1 Series 3.2.1.2 DataFrame 3.2.2 pandas的基本操作 3.2.2.1 排序 3.2.2.2 排名 3.2.2.3 运算 3.2.2.4 函数应用与映射 3.2.2.5 分组 3.2.2.6 合并 3.2.2.7 分类数据 3.2.3 时间序列 3.2.3.1 创建时间序列 3.2.3.2 索引与切片 3.2.3.3 范围和偏移量 3.2.3.4 时间移动及运算 3.2.3.5 频率转换及重采样 3.2.4 面板数据与层次化索引 3.2.4.1 Panel 3.2.4.2 层次化索引 3.2.4.3 stack与unstack 3.2.5 缺失值处理 3.2.5.1 缺失数据的形式 3.2.5.2 缺失数据填充与清洗 3.2.5.3 缺失数据插值 第4章 数据描述 4.1 统计量 4.1.1 集中趋势 4.1.1.1 均值 4.1.1.2 中位数 4.1.1.3 分位数 4.1.1.4 众数 4.1.2 离散程度 4.1.2.1 极差 4.1.2.2 平均差与中位差 4.1.2.3 四分位差 4.1.2.4 方差和标准差 4.1.2.5 协方差 4.1.2.6 变异系数 4.1.3 分布形状 4.1.3.1 偏度 4.1.3.2 峰度 4.1.4 常用统计量及其计算函数或方法 4.2 统计表 4.2.1 统计表的基本要素 4.2.2 统计表的编制 第5章 绘图与可视化 5.1 matplotlib基本绘图 5.1.1 函数绘图 5.1.2 图形基本设置 5.1.2.1 创建图例 5.1.2.2 刻度设置 5.1.2.3 图像注解 5.1.2.4 图像大小 5.1.2.5 创建子图 5.1.2.6 其他绘图函数 5.1.3 面向对象绘图 5.1.4 绘图样式 5.2 pandas基本绘图 5.3 基本统计图形 5.3.1 折线图 5.3.2 面积图 5.3.3 直方图 5.3.4 条形图 5.3.5 龙卷风图 5.3.6 饼图 5.3.7 阶梯图 5.3.8 盒须图 5.3.9 小提琴图 5.3.10 散点图 5.3.11 气泡图 5.3.12 六边形箱图 5.3.13 雷达坐标图 5.3.14 轮廓图 5.3.15 调和曲线图 5.3.16 等高线图 5.3.17 极坐标图与玫瑰图 5.3.18 词云图 5.3.19 数据地图 5.4 其他绘图工具 第6章 简单统计推断 6.1 简单统计推断的基本原理 6.1.1 数据分布 6.1.1.1 总体分布 6.1.1.2 样本分布 6.1.1.3 抽样分布 6.1.2 参数估计 6.1.2.1 点估计 6.1.2.2 区间估计 6.1.3 假设检验 6.1.3.1 假设检验的基本思想 6.1.3.2 假设检验基本步骤 6.1.3.3 假设检验中总体的几种不同情况 6.2 单总体参数的估计及假设检验 6.2.1 单总体的参数估计 6.2.1.1 单总体均值的参数估计 6.2.1.2 单总体方差、标准差的参数估计 6.2.1.3 单总体比例的参数估计 6.2.2 单总体参数的假设检验 6.2.2.1 总体均值的假设检验 6.2.2.2 总体比例的假设检验 6.3 两总体参数的假设检验 6.3.1 独立样本的假设检验 6.3.1.1 独立样本均值之差的假设检验 6.3.1.2 独立样本比例之差的假设检验 6.3.2 成对样本的假设检验 第7章 方差分析 7.1 方差分析的基本原理 7.2 一元方差分析 7.2.1 一元单因素方差分析 7.2.1.1 方差同质性检验 7.2.1.2 方差来源分解及检验过程 7.2.1.3 多重比较检验 7.2.1.4 方差分析模型的参数估计和预测 7.2.1.5 方差分析模型的预测 7.2.2 一元多因素方差分析 7.2.2.1 只考虑主效应的多因素方差分析 7.2.2.2 存在交互效应的多因素方差分析 7.3 协方差分析 第8章 非参数检验 8.1 非参数检验的基本问题 8.2 单样本非参数检验 8.2.1 中位数(均值)的检验 8.2.2 分布的检验 8.2.3 游程检验 8.3 两个样本的非参数检验 8.3.1 独立样本中位数比较的Wilcoxon秩和检验 8.3.2 独立样本的分布检验 8.3.3 成对(匹配)样本中位数的检验 8.3.4 两样本的游程检验 8.4 多个样本的非参数检验 8.4.1 多个样本的分布检验 8.4.2 独立样本位置的检验 第9章 相关分析与关联分析 9.1 相关分析 9.1.1 函数关系与相关关系 9.1.2 简单相关分析 9.1.2.1 用图形描述相关关系 9.1.2.2 用相关系数测度相关关系 9.1.2.3 相关系数的显著性检验 9.1.3 偏相关分析 9.1.4 点二列相关分析 9.1.5 非参数相关分析 9.1.5.1 Spearman相关系数 9.1.5.2 Kendall tau-b系数 9.1.5.3 Hoeffding's D系数 9.2 关联分析 9.2.1 基本概念与数据预处理 9.2.2 Apriori算法 9.2.3 FP-growth算法 第10章 回归分析 10.1 线性回归 10.1.1 回归分析的基本原理 10.1.1.1 参数估计的普通最小二乘法 10.1.1.2 回归方程的检验及模型预测 10.1.2 一元线性回归 10.1.2.1 建模过程 10.1.2.2 回归诊断 10.1.3 多元线性回归 10.1.3.1 建模过程 10.1.3.2 回归诊断 10.1.4 含有定性自变量的线性回归 10.2 非线性回归 10.2.1 可线性化的非线性分析 10.2.2 非线性回归模型 10.3 多项式回归 10.4 分位数回归 第11章 离散因变量模型 11.1 线性概率模型 11.2 二元选择模型 11.2.1 线性概率模型的缺陷与改进 11.2.2 二元选择模型的基本原理 11.2.2.1 模型构建和参数估计过程 11.2.2.2 模型检验 11.2.3 二元Probit模型 11.2.4 二元Logit模型 11.3 多重选择模型 11.4 计数模型 第12章 主成分与因子分析 12.1 数据降维 12.1.1 数据降维的基本问题 12.1.2 数据降维的基本原理 12.2 主成分分析 12.2.1 主成分分析的基本概念与原理 12.2.2 主成分分析的基本步骤和过程 12.3 因子分析 12.3.1 因子分析的基本原理 12.3.1.1因子分析模型 12.3.1.2因子旋转 12.3.1.3因子得分 12.3.2 因子分析的基本步骤和过程 第13章 列联分析与对应分析 13.1 列联分析 13.1.1 列联表 13.1.2 列联表的分布 13.1.3 χ2分布与χ2检验 13.1.4 χ2分布的期望值准则 13.2 对应分析 13.2.1 对应分析的基本思想 13.2.2 对应分析的步骤和过程 13.2.2.1 概率矩阵P 13.2.2.2 数据点坐标 13.2.2.3 行列变量分类降维 13.2.2.4 对应分析图 第14章 聚类 14.1 聚类的基本原理 14.1.1 聚类的基本原则 14.1.2 单一指标的系统聚类过程 14.1.3 多指标的系统聚类过程 14.2 聚类的步骤和过程 14.2.1 系统聚类 14.2.2 K-MEANS聚类 14.2.3 DBSCAN聚类 第15章 判别和分类 15.1 判别和分类的基本思想 15.1.1 判别 15.1.2 分类 15.1.3 效果评估 15.2 常用判别方法和分类算法 15.2.1 距离判别和线性判别 15.2.2 贝叶斯判别 15.2.3 k-近邻 15.2.4 决策树 15.2.5 随机森林 15.2.6 支持向量机 第16章 神经网络与深度学习 16.1 神经网络 16.1.1 基本概念与原理 16.1.2 感知机 16.1.3 多层神经网络 16.2 深度学习 16.2.1 基本概念与原理 16.2.2 卷积神经网络 16.2.2.1 网络结构 16.2.2.2 参数估计 16.2.3 TensorFlow 16.2.3.1 TensorFlow基础 16.2.3.2 TensorFlow训练CNN 16.2.4 PyTorch 16.2.4.1 PyTorch基础 16.2.4.2 PyTorch训练LSTM 16.3 应用场景与工具 16.3.1 文字识别OCR 16.3.1.1 macOS中的OCR系统配置 16.3.1.2 Windows中的OCR系统配置 16.3.1.3 OCR文字识别 16.3.2 目标检测 第17章 时间序列与信号滤波 17.1 时间序列的基本问题 17.1.1 时间序列的组成部分 17.1.2 时间序列的平稳性 17.1.2.1 平稳性的含义 17.1.2.2 时间序列的零均值化和平稳化 17.1.2.3 时间序列的平稳性检验 17.2 ARIMA模型的分析过程 17.2.1 ARIMA模型 17.2.1.1 AR模型 17.2.1.2 MA模型 17.2.1.3 ARMA模型 17.2.2 ARMA模型的识别、估计与预测 17.2.2.1 模型的识别 17.2.2.2 模型参数估计及检验 17.2.2.3 模型的预测 17.3 信号滤波 17.3.1 平滑滤波 17.3.2 导数滤波 附录:各章图形(部分)