本书主要介绍与数据分析有关的语法基础,针对性强,帮助读者快速入门,譬如在第2部分重点介绍了Python入门语法、特征以及数据分析所需要的一些基本语法。Python可以通过多个库、多种方法实现相同目的,如实现线性回归可以用sklearn、statsmodels等库,实现生存分析可以使用lifelines、pysurvival、statsmodels等库,并且存在很多代码不统一的情况,这会给初学者带来困惑。针对这个问题,本书主要使用Scipy库来实现假设检验,使用statsmodels库来拟合统计模型,并且尽量使用简洁的代码来完成数据分析,譬如在第7部分中介绍了利用Pandas库在同步完成数据清洗和统计图绘制,减少代码书写量,提高数据分析效率。本书的编写突出实用性,注重数据前期处理与医学统计分析相结合;按照资料类型介绍统计学方法,有利于读者在实际数据分析中快速查找对应的统计学方法;在介绍每种统计方法时,强调适用条件,提供*完整的代码,注重统计结果的解释,突出实用性和可操作性,以达到降低数据分析难度的目的。
1 Python 简介与安装/ 1
1.1 Python 的优点/ 1
1.2 Python 的安装与配置/ 2
1.2.1 Windows 系统下的安装与配置/ 3
1.2.2 Mac 系统下的安装与配置/ 6
1.2.3 Linux 系统下的安装与配置/ 6
1.3 Anaconda 的使用方法/ 6
1.3.1 打开命令行终端/ 6
1.3.2 更新软件下载渠道/ 6
1.3.3 创建conda 虚拟环境/ 7
1.3.4 安装软件库/ 7
1.3.5 conda 常用命令合集/ 7
1.4 Jupyter Notebook/ 8
1.4.1 打开Jupyter Notebook/ 9
1.4.2 Jupyter Notebook 界面/ 9
2 Python 语言基础与重要的库/ 16
2.1 Python 快速入门/ 16
2.1.1 **个Python 程序/ 16
2.1.2 Python 的缩进/ 17
2.1.3 查询帮助文件/ 17
2.1.4 Tab 键自动补全代码/ 18
2.2 Python 语法基础/ 18
2.2.1 变量和数据类型/ 18
2.2.2 运算符/ 19
2.2.3 列表、元组和字典/ 21
2.2.4 函数/ 21
2.3 重要的Python 库/ 22
3 数据集创建/ 24
3.1 NumPy 多维数组对象/ 25
3.1.1 NumPy 数组属性/ 25
3.1.2 NumPy 数组创建/ 27
3.1.3 NumPy 切片和索引/ 30
3.2 Pandas 数据结构/ 32
3.2.1 Series(一维数据)/ 32
3.2.2 DataFrame(二维数据)/ 33
3.2.3 NumPy 与Pandas 转换/ 36
3.3 数据取值与选择/ 36
3.3.1 Series(一维数据)/ 36
3.3.2 DataFrame(二维数据)/ 38
3.4 数据读取与存储/ 41
3.4.1 Pandas 读取Excel 数据/ 41
3.4.2 Pandas 读取CSV 文件/ 42
3.4.3 Pandas 读取Txt 数据/ 43
3.4.4 Pandas 读取SAS、Stata 和SPSS 数据/ 45
3.4.5 存储数据/ 46
4 基本数据管理/ 47
4.1 数据基本信息与结构查看/ 47
4.2 创建新变量/ 49
4.3 变量重命名/ 50
4.4 数据类型转换 / 52
4.4.1 基本数据类型转换/ 52
4.4.2 时间日期数据类型转换/ 53
4.5 数据排序/ 56
4.5.1 按索引标签排序/ 56
4.5.2 按列值排序/ 57
4.6 缺失值处理/ 58
4.6.1 缺失值判断/ 58
4.6.2 缺失值删除/ 60
4.7 缺失数据填补/ 62
4.8 重复数据处理/ 63
4.9 数据集的合并/ 65
4.9.1 merge( ) 方法/ 65
4.9.2 concat( ) 方法/ 67
4.9.3 join( ) 方法/ 70
4.10 数据集取子集/ 72
4.10.1 直接选择/ 72
4.10.2 loc( ) 函数选取子集/ 73
4.10.3 iloc( ) 函数选取子集/ 74
4.11 数据分组/ 75
4.11.1 groupby( ) 函数/ 75
4.11.2 cut( ) 和qcut( ) 函数/ 77
4.12 melt( ) 函数/ 80
4.13 数据集更新/ 81
4.13.1 replace( ) 函数/ 81
4.13.2 update( ) 函数/ 81
4.14 数据集比较/ 83
5 高级数据管理/ 86
5.1 控制流/ 86
5.1.1 条件(分支)语句/ 86
5.1.2 循环结构/ 88
5.2 函数/ 91
5.2.1 pandas 函数/ 91
5.2.2 lambda 函数/ 95
5.3 向量化字符串操作/ 96
5.4 正则表达式/ 100
6 网络数据采集/ 105
6.1 初识爬虫/ 105
6.2 http 协议与url/ 106
6.2.1 http 请求/ 107
6.2.2 http 响应/ 107
6.3 网页结构/ 108
6.3.1 HTML 标签/ 108
6.3.2 HTML 属性/ 109
6.4 Requests 库/ 109
6.4.1 获取网页/ 109
6.4.2 POST 请求/ 111
6.5 BeautifulSoup 库/ 111
6.5.1 BeautifulSoup 对象/ 111
6.5.2 BeautifulSoup 标签/ 113
6.5.3 遍历节点/ 114
6.5.4 方法选择器/ 115
7 资料类型及展示/ 117
7.1 资料类型/ 117
7.2 统计描述/ 118
7.2.1 定量资料/ 118
7.2.2 定性资料/ 123
7.3 数据透视表/ 124
7.4 表格重塑/ 125
7.5 绘制图形/ 129
7.5.1 绘制图形的基本步骤/ 129
7.5.2 常见统计图/ 130
7.5.3 子图绘制/ 139
7.5.4 金字塔图/ 140
7.5.5 其他图形绘制/ 142
8 定量资料统计方法/ 143
8.1 单样本资料与已知总体参数比较/ 143
8.1.1 单样本资料的t 检验/ 143
8.1.2 Wilcoxon 符号秩和检验/ 144
8.2 两组资料之间的比较/ 145
8.2.1 配对t 检验/ 145
8.2.2 配对设计资料的非参数检验/ 147
8.2.3 两组独立样本的t 检验/ 148
8.2.4 两组资料的非参数检验/ 149
8.3 两组以上资料比较/ 150
8.3.1 方差分析/ 150
8.3.2 Kruskal-Wallis H 检验/ 153
8.4 相关分析/ 154
8.4.1 直线相关分析/ 154
8.4.2 秩相关/ 157
8.5 线性回归分析/ 158
8.5.1 基本原理/ 158
8.5.2 应用条件/ 159
8.5.3 线性回归分析的Python 实现/ 159
9 分类资料数据分析/ 162
9.1 卡方检验/ 162
9.1.1 四格表资料的卡方检验/ 162
9.1.2 R×C 列联表资料的卡方检验/ 163
9.1.3 卡方检验的选用/ 163
9.1.4 卡方检验的Python 实现/ 164
9.2 Fisher 确切概率法/ 166
9.2.1 Fisher 确切概率法使用条件/ 166
9.2.2 Fisher 确切概率法的Python 实现/ 166
9.3 配对卡方检验/ 167
9.3.1 配对卡方检验使用条件/ 168
9.3.2 配对卡方检验的Python 实现/ 168
9.4 多个相关样本的非参数检验(Cochran Q 检验)/ 169
9.4.1 Cochran Q 检验的Python 实现/ 169
9.5 趋势卡方检验/ 170
9.5.1 趋势卡方检验的Python 实现/ 170
10 多重线性回归/ 172
10.1 多重线性回归分析/ 172
10.1.1 多重线性回归模型简介/ 172
10.1.2 多重线性回归使用条件/ 173
10.1.3 资料格式/ 174
10.1.4 多重线性回归分析的Python 实现/ 174
10.2 自变量筛选/ 176
10.2.1 逐步回归分析的Python 实现/ 177
10.3 多重共线性和回归诊断/ 181
10.3.1 共线性诊断/ 181
10.3.2 模型诊断/ 182
11 logistic 回归/ 184
11.1 二分类logistic 回归/ 184
11.1.1 二分类logistic 回归的使用条件/ 185
11.1.2 资料格式/ 185
11.1.3 logistic 回归的Python 实现/ 185
11.1.4 广义线性模型/ 192
11.2 有序logistic 回归/ 195
11.2.1 资料格式/ 196
11.2.2 有序多分类logistic 回归的Python 实现/ 196
11.3 无序多分类logistic 回归/ 199
11.3.1 资料格式/ 200
11.3.2 多分类无序logistic 回归的Python 实现/ 200
11.4 条件logistic 回归/ 203
11.4.1 资料格式/ 203
11.4.2 条件logistic 回归的Python 实现/ 204
12 Poisson 回归/ 207
12.1 Poisson 回归的应用条件/ 207
12.2 资料格式/ 208
12.3 利用广义线性模型实现Poisson 回归/ 212
13 生存分析/ 214
13.1 基本概念/ 214
13.1.1 生存时间/ 214
13.1.2 生存时间资料的类型/ 215
13.1.3 生存概率、生存率与风险函数/ 215
13.2 生存分析研究的主要内容/ 215
13.3 生存率的估计与组间比较/ 216
13.4 中位生存时间与生存曲线/ 217
13.5 Cox 比例风险模型/ 219
13.5.1 Cox 模型简介/ 220
13.5.2 Cox 模型分析的资料格式/ 221
13.5.3 Cox 模型分析的Python 实现/ 221
13.5.4 Cox 模型分析注意事项/ 224
14 时间序列分析/ 225
14.1 时间序列的预处理/ 225
14.1.1 平稳性检验/ 226
14.1.2 纯随机性检验/ 226
14.2 平稳时间序列建模/ 226
14.3 非平稳时间序列预处理/ 227
14.4 ARIMA 模型/ 228
14.4.1 资料格式/ 228
14.4.2 ARIMA 模型的Python 实现/ 229
14.5 季节性ARIMA 模型/ 237
潘兴强:流行病与卫生统计学专业,擅长医学统计与大数据分析。近年来主持课题4项,其中省部级课题1项,省厅级课题1项,市厅级课题1项;以**作者发表论文18篇,其中SCI收录3篇,中华级5篇,*高影响因子7.023,参编专业书籍《流行病学数据分析与易侕统计软件实现》。