Python数据分析 活用Pandas库
作者:(美)丹尼尔 陈著
出版时间:2020年版
内容简介
本书是Python数据分析入门书,每个概念都通过简单实例来阐述,便于读者理解与上手。具体内容包括:Python及Pandas基础知识,加载和查看数据集,Pandas的DataFrame对象和Series对象,使用matplotlib、seaborn和Pandas提供的绘图方法为探索性数据分析作图,连接与合并数据集,处理缺失数据,清理数据,转换数据类型,处理字符串,应用函数,分组操作,拟合及评估模型,正则化方法与聚类技术等。
目录
献词 iii
序 iv
前言 v
致谢 xi
关于作者 xiv
第 一部分 简介 1
第 1章 Pandas DataFrame基础知识 2
1.1 简介 2
1.2 加载数据集 3
1.3 查看列、行、单元格 5
1.3.1 取列子集 6
1.3.2 取行子集 7
1.3.3 混合 11
1.4 分组和聚合计算 16
1.4.1 分组方式 17
1.4.2 分组频率计数 21
1.5 基本绘图 21
1.6 小结 22
第 2章 Pandas数据结构 23
2.1 简介 23
2.2 创建数据 24
2.2.1 创建Series 24
2.2.2 创建DataFrame 25
2.3 Series 26
2.3.1 类似于ndarray的Series 27
2.3.2 布尔子集:Series 29
2.3.3 操作自动对齐和向量化(广播) 31
2.4 DataFrame 34
2.4.1 布尔子集:DataFrame 34
2.4.2 操作自动对齐和向量化(广播) 35
2.5 更改Series和DataFrame 36
2.5.1 添加列 36
2.5.2 直接更改列 37
2.5.3 删除值 39
2.6 导出和导入数据 40
2.6.1 保存数据 40
2.6.2 CSV 42
2.6.3 Excel 42
2.6.4 feather文件格式 43
2.6.5 其他数据输出格式 43
2.7 小结 44
第3章 绘图入门 45
3.1 简介 45
3.2 matplotlib 46
3.3 使用matplotlib绘制统计图 51
3.3.1 单变量 52
3.3.2 双变量 53
3.3.3 多变量数据 54
3.4 seaborn 56
3.4.1 单变量 56
3.4.2 双变量数据 59
3.4.3 多变量数据 67
3.5 Pandas对象 75
3.5.1 直方图 75
3.5.2 密度图 76
3.5.3 散点图 77
3.5.4 蜂巢图 77
3.5.5 箱线图 79
3.6 seaborn主题和样式 79
3.7 小结 81
第二部分 数据处理 83
第4章 数据组合 84
4.1 简介 84
4.2 整理数据 84
4.3 连接 85
4.3.1 添加行 85
4.3.2 添加列 89
4.3.3 不同索引下的连接操作 90
4.4 合并多个数据集 93
4.4.1 一对一合并 94
4.4.2 多对一合并 95
4.4.3 多对多合并 95
4.5 小结 97
第5章 缺失数据 98
5.1 简介 98
5.2 何为NaN值 98
5.3 缺失值从何而来 100
5.3.1 加载数据 100
5.3.2 合并数据 101
5.3.3 用户输入值 103
5.3.4 重建索引 103
5.4 处理缺失数据 105
5.4.1 查找和统计缺失数据 105
5.4.2 清理缺失数据 106
5.4.3 缺失值计算 109
5.5 小结 110
第6章 整理数据 111
6.1 简介 111
6.2 包含值而非变量的列 112
6.2.1 固定一列 112
6.2.2 固定多列 114
6.3 包含多个变量的列 115
6.3.1 单独拆分和添加列(简单方法) 116
6.3.2 在单个步骤中进行拆分和组合(简单方法) 118
6.3.3 在单个步骤中进行拆分和组合(复杂方法) 118
6.4 行与列中的变量 119
6.5 一张表中多个观测单元(归一化) 121
6.6 跨多张表的观测单元 123
6.6.1 使用循环加载多个文件 125
6.6.2 使用列表推导加载多个文件 126
6.7 小结 127
第三部分 数据整理 129
第7章 数据类型 130
7.1 简介 130
7.2 数据类型 130
7.3 类型转换 131
7.3.1 转换为字符串对象 131
7.3.2 转换为数值类型 132
7.4 分类数据 136
7.4.1 转换为category类型 137
7.4.2 操作分类数据 137
7.5 小结 138
第8章 字符串和文本数据 139
8.1 简介 139
8.2 字符串 139
8.2.1 取子串和字符串切片 139
8.2.2 获取字符串的最后一个字符 141
8.3 字符串方法 143
8.4 更多字符串方法 144
8.4.1 join方法 144
8.4.2 splitlines方法 144
8.5 字符串格式化 145
8.5.1 自定义字符串格式 146
8.5.2 格式化字符串 146
8.5.3 格式化数字 146
8.5.4 C printf格式化风格 147
8.5.5 Python 3.6+中的格式化字符串 148
8.6 正则表达式 148
8.6.1 匹配模式 149
8.6.2 查找模式 152
8.6.3 模式替代 152
8.6.4 编译模式 153
8.7 regex库 154
8.8 小结 154
第9章 应用 155
9.1 简介 155
9.2 函数 155
9.3 使用函数 156
9.3.1 Series的apply方法 157
9.3.2 DataFrame的apply方法 158
9.4 apply高级用法 160
9.4.1 按列应用 162
9.4.2 按行应用 164
9.5 向量化函数 166
9.5.1 使用NumPy 167
9.5.2 使用numba 168
9.6 lambda函数 168
9.7 小结 170
第 10章 分组操作:分割-应用-组合 171
10.1 简介 171
10.2 聚合 171
10.2.1 基本的单变量分组聚合 172
10.2.2 Pandas内置的聚合方法 173
10.2.3 聚合函数 174
10.2.4 同时传入多个函数 176
10.2.5 在agg/aggregate中使用字典 177
10.3 转换 178
10.4 过滤器 182
10.5 pandas.core.groupby.DataFrameGroupBy对象 183
10.5.1 分组 183
10.5.2 涉及多个变量的分组计算 184
10.5.3 选择分组 184
10.5.4 遍历分组 184
10.5.5 多个分组 186
10.5.6 平铺结果 187
10.6 使用多重索引 188
10.7 小结 191
第 11章 datetime数据类型 192
11.1 简介 192
11.2 Python的datatime对象 192
11.3 转换为datetime 193
11.4 加载包含日期的数据 196
11.5 提取日期的各个部分 196
11.6 日期运算和Timedelta 198
11.7 datetime方法 200
11.8 获取股票数据 202
11.9 基于日期取数据子集 203
11.9.1 DatetimeIndex对象 203
11.9.2 TimedeltaIndex对象 204
11.10 日期范围 205
11.10.1 频率 206
11.10.2 偏移量 207
11.11 移动 207
11.12 重采样 213
11.13 时区 214
11.14 小结 215
第四部分 数据建模 217
第 12章 线性模型 218
12.1 简介 218
12.2 简单线性回归 218
12.2.1 使用统计模型库 218
12.2.2 使用sklearn库 220
12.3 多元回归 222
12.3.1 使用statsmodels库 222
12.3.2 使用statsmodels和分类变量 222
12.3.3 使用sklearn库 224
12.3.4 使用sklearn和分类变量 225
12.4 保留sklearn的索引标签 226
12.5 小结 226
第 13章 广义线性模型 227
13.1 简介 227
13.2 逻辑回归 227
13.2.1 使用statsmodels 229
13.2.2 使用sklearn 230
13.3 泊松回归 232
13.3.1 使用statsmodels 232
3.3.2 负二项回归 233
13.4 更多GLM 234
13.5 生存分析 235
13.6 小结 238
第 14章 模型诊断 239
14.1 简介 239
14.2 残差 239
14.3 比较多个模型 243
14.3.1 比较线性模型 243
14.3.2 比较GLM 246
14.4 k折交叉验证 248
14.5 小结 251
第 15章 正则化 252
15.1 简介 252
15.2 何为正则化 252
15.3 LASSO回归 254
15.4 岭回归 255
15.5 弹性网 256
15.6 交叉验证 258
15.7 小结 260
第 16章 聚类 261
16.1 简介 261
16.2 k均值聚类 261
16.3 层次聚类 267
16.3.1 最长距离法 267
16.3.2 最短距离法 267
16.3.3 平均距离法 268
16.3.4 重心法 268
16.3.5 手动设置阈值 269
16.4 小结 270
第五部分 终章 271
第 17章 Pandas之外 272
17.1 科学计算栈 272
17.2 性能 272
17.2.1 测试代码运行时间 272
17.2.2 分析代码 274
17.3 规模更大、速度更快 274
第 18章 写给自学者 275
18.1 不可闭门造车 275
18.2 本地聚会 275
18.3 参加会议 275
18.4 互联网 276
18.5 播客 276
18.6 小结 276
第六部分 附录
附录A 安装 278
附录B 命令行 280
附录C 项目模板 282
附录D Python代码编写工具 283
附录E 工作目录 285
附录F 环境 287
附录G 安装包 289
附录H 导入库 291
附录I 列表 293
附录J 元组 294
附录K 字典 295
附录L 切片 297
附录M 循环 299
附录N 推导式 300
附录O 函数 301
附录P 范围和生成器 305
附录Q 多重赋值 307
附录R NumPy ndarray 309
附录S 类 311
附录T 变形器odo 313
版权声明 314