内容简介 · · · · · ·
本书从数据分析的基本概念和Python的基础语法讲起,然后逐步深入到Python数据分析的编程技术方面,并结合实战重点讲解了如何使用主流Python数据分析库进行数据分析,让读者快速掌握Python的编程基础知识,并对Python数据分析有更加深入的理解。
本书分为13章,涵盖的主要内容有数据分析概述、Python的特点和编程基础、NumPy数组的基础和进阶用法、Pandas数据处理和数据分析、数据的导入导出、数据可视化,以及Python网络爬虫和Scikit-learn机器学习的入门知识。
本书内容丰富全面,语言简洁、通俗易懂,实用性强,还包含实战案例,特别适合Python的初学者和自学者,以及缺乏编程经验的数据分析从业人员阅读,也适合对数据分析编程感兴趣的爱好者阅读。
作者简介 · · · · · ·
刘麟 软件系统架构师,长期为企业和相关机构开设Python和数据分析相关的公开课并担任主讲人。他曾与南加州大学合作参与了生物信息相关的研究课题,负责基因数据分析的工作,共同合作的论文发表于Nature期刊。他参加的开发项目包括了智能推荐系统、云计算、移动互联网产品等,有着丰富的Python开发和数据分析工作的经验。
目录 · · · · · ·
第1章 数据分析概述 1
1.1 数据分析的含义 1
1.2 数据分析的基础流程 1
1.3 数据收集 2
1.3.1 线下收集 2
1.3.2 线上收集 3
1.4 统计分析策略 3
1.4.1 描述性统计分析 3
1.4.2 推断性统计分析 4
1.4.3 探索性统计分析 5
1.5 数据分析方法 5
1.5.1 公式拆解法 5
1.5.2 对比分析法 6
1.5.3 预测分析法 6
1.5.4 漏斗分析法 6
1.5.5 象限分析法 7
1.6 数据挖掘的标准流程(CRISP-DM模型) 7
1.7 数据分析工具 8
1.7.1 Microsoft Excel 8
1.7.2 R语言 9
1.7.3 Python 9
第2章 为什么选择Python 10
2.1 关于Python 10
2.1.1 Python的起源 10
2.1.2 Python 2和Python 3 11
2.2 了解Python的特点 11
2.2.1 简单易学 11
2.2.2 自由开放 12
2.2.3 解释型语言 12
2.2.4 封装与扩展性 12
2.3 Python在数据分析上的优势 13
2.3.1 自由的数据结构 13
2.3.2 黏合剂Python 13
2.3.3 丰富的第三方库 13
2.4 数据分析的第三方库 14
2.4.1 NumPy 14
2.4.2 Pandas 14
2.4.3 Matplotlib 15
2.4.4 SciPy 15
2.4.5 Scikit-learn 15
2.5 网络爬虫的第三方库 16
2.5.1 Request 16
2.5.2 lxml 16
2.5.3 html5lib 16
2.5.4 BeautifulSoup 17
2.5.5 Scrapy 17
第3章 Python编程基础 18
3.1 安装与配置 18
3.1.1 在Windows操作系统下安装Python 18
3.1.2 在macOS下安装Python 18
3.1.3 在GNU/Linux操作系统下安装Python 19
3.1.4 安装及更新Python库 19
3.1.5 集成开发环境 20
3.2 Hello World! 20
3.2.1 Python解释器 20
3.2.2 运行IPython 21
3.3 基础语法 22
3.3.1 缩进 22
3.3.2 注释 22
3.3.3 标识符 23
3.3.4 关键字 23
3.4 变量和数据类型 23
3.4.1 变量赋值 23
3.4.2 布尔型 24
3.4.3 数值类型 24
3.4.4 字符串 24
3.5 内置的数据结构 25
3.5.1 集合 25
3.5.2 元组 26
3.5.3 列表 26
3.5.4 字典 27
3.6 控制流 28
3.6.1 条件语句 28
3.6.2 循环语句 29
3.6.3 break和continue关键字 30
3.7 函数 31
3.7.1 函数定义 31
3.7.2 函数调用 31
3.7.3 lambda函数 32
3.8 类 32
3.8.1 类定义 32
3.8.2 类的实例化 33
3.8.3 类的属性访问 34
3.8.4 类的方法调用 35
3.9 文件操作 36
3.9.1 打开和关闭文件 36
3.9.2 读写文件 37
第4章 NumPy数组:基础篇 40
4.1 数组对象 40
4.1.1 对象属性 40
4.1.2 数据类型 42
4.2 创建数组 44
4.2.1 通用的创建方式 44
4.2.2 填充数组 45
4.2.3 对角矩阵 48
4.2.4 空数组 50
4.2.5 等差数组 51
4.2.6 随机数组 52
4.3 数组访问 58
4.3.1 基础索引 58
4.3.2 数组切片 60
4.3.3 索引切片 62
4.4 数组更新 64
4.4.1 更新数组元素 64
4.4.2 插入数组元素 67
4.4.3 删除数组元素 72
4.4.4 复制数组 74
4.5 数组变换 76
4.5.1 数组重塑 76
4.5.2 轴变换 79
4.5.3 数组合并:拼接 89
4.5.4 数组合并:堆叠 94
4.5.5 数组拆分 100
4.6 矩阵运算 102
4.6.1 矩阵对象 102
4.6.2 矩阵乘法 107
4.6.3 逆矩阵和共轭矩阵 108
4.6.4 数值特征和特征值 112
4.6.5 矩阵分解 116
4.7 数组运算 119
4.7.1 算术运算 119
4.7.2 绝对值 122
4.7.3 指数和对数 123
4.7.4 三角和反三角函数 124
4.8 聚合统计 126
4.8.1 求和与乘积 126
4.8.2 均值和标准差 128
4.8.3 最大值和最小值 129
4.8.4 中位数和百分位数 130
4.8.5 逻辑统计函数 132
4.8.6 多维数组的聚合 134
第5章 NumPy数组:进阶篇 137
5.1 NumPy的高效运算 137
5.1.1 快速的矢量化计算 137
5.1.2 灵活的广播机制 139
5.1.3 广播的规则 141
5.2 通用函数 144
5.2.1 初识通用函数 144
5.2.2 通用函数的实例方法 151
5.2.3 定义新的通用函数 154
5.3 数组形式的条件判断 156
5.3.1 布尔表达式 156
5.3.2 where函数 158
5.3.3 where参数 161
5.4 数组的高级索引 163
5.4.1 布尔索引 163
5.4.2 Fancy索引 164
5.4.3 索引组合 165
5.5 数组排序 166
5.5.1 直接排序 166
5.5.2 间接排序 168
5.5.3 分区排序 169
5.6 结构化数组 170
5.6.1 结构化数组的创建 170
5.6.2 结构化数组的索引访问 172
5.6.3 记录数组 173
第6章 Pandas:数据处理 174
6.1 Pandas数据结构 174
6.1.1 Series对象 174
6.1.2 DataFrame对象 178
6.1.3 索引对象 183
6.2 数据索引和选取 185
6.2.1 Series中的数据选取 185
6.2.2 DataFrame中的数据选取 189
6.3 处理缺失数据 193
6.3.1 表示缺失数据的策略 193
6.3.2 Pandas中的缺失数据 194
6.3.3 对缺失值的操作 197
6.4 数据集合并 201
6.4.1 append函数 201
6.4.2 concat函数 202
6.4.3 join函数 205
6.4.4 merge函数 206
6.5 分层索引 212
6.5.1 分层索引:从一维到多维 212
6.5.2 分层索引的构建方法 214
6.5.3 多层级切片 216
6.5.4 重新排列分层索引 217
第7章 Pandas:数据分析 221
7.1 Pandas中的数组运算 221
7.1.1 Pandas中的通用函数 221
7.1.2 索引保留 226
7.1.3 索引对齐 227
7.1.4 Series和DataFrame之间的运算 229
7.2 数据聚合 231
7.2.1 基础的聚合操作 231
7.2.2 灵活的聚合函数 235
7.2.3 基于行索引的分组聚合 238
7.3 数据分组 242
7.3.1 分组对象 242
7.3.2 分组键 246
7.3.3 分组聚合 257
7.3.4 过滤分组数据 260
7.3.5 基于分组的数据转换 263
7.4 数据透视表 265
7.4.1 透视表和分组对象 265
7.4.2 定制透视表 270
7.4.3 透视表的进阶用法 273
7.5 时间序列 276
7.5.1 时间数据的类型 276
7.5.2 时间序列的索引 278
7.5.3 时间序列的数据访问 287
第8章 数据的导入导出 294
8.1 文本数据 294
8.1.1 从文本导入数据 294
8.1.2 导出数据到文本 296
8.2 Excel数据 297
8.2.1 从电子表格导入数据 297
8.2.2 导出数据到电子表格 298
8.3 网络数据 299
8.3.1 JSON格式 299
8.3.2 XML和HTML格式 301
8.4 数据库 302
8.4.1 关系数据库 302
8.4.2 数据库API 303
8.5 Pandas数据对象的导入导出 305
8.5.1 分隔文本格式 305
8.5.2 Excel数据格式 309
8.5.3 JSON数据格式 310
8.5.4 读取数据库 311
第9章 数据可视化 312
9.1 Matplotlib绘图的基础设置 312
9.1.1 绘图面板 312
9.1.2 图形样式 313
9.1.3 坐标轴 315
9.1.4 图例 317
9.2 Pandas绘图接口 318
9.2.1 折线图 318
9.2.2 柱状图 319
9.2.3 直方图和密度图 321
9.2.4 散点图 321
第10章 实战:数据预处理 323
10.1 数据导入 323
10.1.1 数据描述 323
10.1.2 数据读取 323
10.1.3 数据合并 324
10.2 数据清洗 324
10.2.1 冗余数据 324
10.2.2 缺失数据 325
10.2.3 无效数据 325
10.3 数据转换 326
10.3.1 数据类型转换 326
10.3.2 分层索引 327
10.3.3 生成时间序列 327
10.4 数据过滤 329
10.5 数据导出 329
第11章 实战:数据分析 331
11.1 时间序列分析 331
11.1.1 导入时间序列 331
11.1.2 生成时间区间数据 332
11.1.3 时间窗函数 333
11.2 统计分析 336
11.2.1 描述性统计 336
11.2.2 聚合统计 337
11.2.3 分组统计 339
11.3 关联分析 341
11.3.1 数据联合 341
11.3.2 协方差和相关系数 343
11.4 透视表分析 344
11.4.1 数据集整合 344
11.4.2 分层透视表 346
第12章 Python网络爬虫 350
12.1 Robots协议 350
12.2 数据抓取 351
12.2.1 最基本的数据抓取 351
12.2.2 处理登录请求 352
12.2.3 连接超时 353
12.3 Scrapy库 354
12.3.1 搭建工程项目 354
12.3.2 编写爬虫 355
12.3.3 数据选择器 356
12.3.4 定义数据对象 360
12.3.5 数据管道 362
第13章 Scikit-learn机器学习 365
13.1 选择合适的机器学习模型 365
13.2 数据预处理 365
13.2.1 标准化 366
13.2.2 归一化 367
13.2.3 正态化 368
13.3 监督学习 369
13.3.1 线性模型 369
13.3.2 最近邻算法 371
13.3.3 支持向量机 374
13.3.4 随机森林 376
13.4 无监督学习 377
13.4.1 K-means聚类算法 377
13.4.2 主成分分析(PCA) 379
13.4.3 高斯混合模型 381
· · · · · · (收起)
1.1 数据分析的含义 1
1.2 数据分析的基础流程 1
1.3 数据收集 2
1.3.1 线下收集 2
1.3.2 线上收集 3
1.4 统计分析策略 3
1.4.1 描述性统计分析 3
1.4.2 推断性统计分析 4
1.4.3 探索性统计分析 5
1.5 数据分析方法 5
1.5.1 公式拆解法 5
1.5.2 对比分析法 6
1.5.3 预测分析法 6
1.5.4 漏斗分析法 6
1.5.5 象限分析法 7
1.6 数据挖掘的标准流程(CRISP-DM模型) 7
1.7 数据分析工具 8
1.7.1 Microsoft Excel 8
1.7.2 R语言 9
1.7.3 Python 9
第2章 为什么选择Python 10
2.1 关于Python 10
2.1.1 Python的起源 10
2.1.2 Python 2和Python 3 11
2.2 了解Python的特点 11
2.2.1 简单易学 11
2.2.2 自由开放 12
2.2.3 解释型语言 12
2.2.4 封装与扩展性 12
2.3 Python在数据分析上的优势 13
2.3.1 自由的数据结构 13
2.3.2 黏合剂Python 13
2.3.3 丰富的第三方库 13
2.4 数据分析的第三方库 14
2.4.1 NumPy 14
2.4.2 Pandas 14
2.4.3 Matplotlib 15
2.4.4 SciPy 15
2.4.5 Scikit-learn 15
2.5 网络爬虫的第三方库 16
2.5.1 Request 16
2.5.2 lxml 16
2.5.3 html5lib 16
2.5.4 BeautifulSoup 17
2.5.5 Scrapy 17
第3章 Python编程基础 18
3.1 安装与配置 18
3.1.1 在Windows操作系统下安装Python 18
3.1.2 在macOS下安装Python 18
3.1.3 在GNU/Linux操作系统下安装Python 19
3.1.4 安装及更新Python库 19
3.1.5 集成开发环境 20
3.2 Hello World! 20
3.2.1 Python解释器 20
3.2.2 运行IPython 21
3.3 基础语法 22
3.3.1 缩进 22
3.3.2 注释 22
3.3.3 标识符 23
3.3.4 关键字 23
3.4 变量和数据类型 23
3.4.1 变量赋值 23
3.4.2 布尔型 24
3.4.3 数值类型 24
3.4.4 字符串 24
3.5 内置的数据结构 25
3.5.1 集合 25
3.5.2 元组 26
3.5.3 列表 26
3.5.4 字典 27
3.6 控制流 28
3.6.1 条件语句 28
3.6.2 循环语句 29
3.6.3 break和continue关键字 30
3.7 函数 31
3.7.1 函数定义 31
3.7.2 函数调用 31
3.7.3 lambda函数 32
3.8 类 32
3.8.1 类定义 32
3.8.2 类的实例化 33
3.8.3 类的属性访问 34
3.8.4 类的方法调用 35
3.9 文件操作 36
3.9.1 打开和关闭文件 36
3.9.2 读写文件 37
第4章 NumPy数组:基础篇 40
4.1 数组对象 40
4.1.1 对象属性 40
4.1.2 数据类型 42
4.2 创建数组 44
4.2.1 通用的创建方式 44
4.2.2 填充数组 45
4.2.3 对角矩阵 48
4.2.4 空数组 50
4.2.5 等差数组 51
4.2.6 随机数组 52
4.3 数组访问 58
4.3.1 基础索引 58
4.3.2 数组切片 60
4.3.3 索引切片 62
4.4 数组更新 64
4.4.1 更新数组元素 64
4.4.2 插入数组元素 67
4.4.3 删除数组元素 72
4.4.4 复制数组 74
4.5 数组变换 76
4.5.1 数组重塑 76
4.5.2 轴变换 79
4.5.3 数组合并:拼接 89
4.5.4 数组合并:堆叠 94
4.5.5 数组拆分 100
4.6 矩阵运算 102
4.6.1 矩阵对象 102
4.6.2 矩阵乘法 107
4.6.3 逆矩阵和共轭矩阵 108
4.6.4 数值特征和特征值 112
4.6.5 矩阵分解 116
4.7 数组运算 119
4.7.1 算术运算 119
4.7.2 绝对值 122
4.7.3 指数和对数 123
4.7.4 三角和反三角函数 124
4.8 聚合统计 126
4.8.1 求和与乘积 126
4.8.2 均值和标准差 128
4.8.3 最大值和最小值 129
4.8.4 中位数和百分位数 130
4.8.5 逻辑统计函数 132
4.8.6 多维数组的聚合 134
第5章 NumPy数组:进阶篇 137
5.1 NumPy的高效运算 137
5.1.1 快速的矢量化计算 137
5.1.2 灵活的广播机制 139
5.1.3 广播的规则 141
5.2 通用函数 144
5.2.1 初识通用函数 144
5.2.2 通用函数的实例方法 151
5.2.3 定义新的通用函数 154
5.3 数组形式的条件判断 156
5.3.1 布尔表达式 156
5.3.2 where函数 158
5.3.3 where参数 161
5.4 数组的高级索引 163
5.4.1 布尔索引 163
5.4.2 Fancy索引 164
5.4.3 索引组合 165
5.5 数组排序 166
5.5.1 直接排序 166
5.5.2 间接排序 168
5.5.3 分区排序 169
5.6 结构化数组 170
5.6.1 结构化数组的创建 170
5.6.2 结构化数组的索引访问 172
5.6.3 记录数组 173
第6章 Pandas:数据处理 174
6.1 Pandas数据结构 174
6.1.1 Series对象 174
6.1.2 DataFrame对象 178
6.1.3 索引对象 183
6.2 数据索引和选取 185
6.2.1 Series中的数据选取 185
6.2.2 DataFrame中的数据选取 189
6.3 处理缺失数据 193
6.3.1 表示缺失数据的策略 193
6.3.2 Pandas中的缺失数据 194
6.3.3 对缺失值的操作 197
6.4 数据集合并 201
6.4.1 append函数 201
6.4.2 concat函数 202
6.4.3 join函数 205
6.4.4 merge函数 206
6.5 分层索引 212
6.5.1 分层索引:从一维到多维 212
6.5.2 分层索引的构建方法 214
6.5.3 多层级切片 216
6.5.4 重新排列分层索引 217
第7章 Pandas:数据分析 221
7.1 Pandas中的数组运算 221
7.1.1 Pandas中的通用函数 221
7.1.2 索引保留 226
7.1.3 索引对齐 227
7.1.4 Series和DataFrame之间的运算 229
7.2 数据聚合 231
7.2.1 基础的聚合操作 231
7.2.2 灵活的聚合函数 235
7.2.3 基于行索引的分组聚合 238
7.3 数据分组 242
7.3.1 分组对象 242
7.3.2 分组键 246
7.3.3 分组聚合 257
7.3.4 过滤分组数据 260
7.3.5 基于分组的数据转换 263
7.4 数据透视表 265
7.4.1 透视表和分组对象 265
7.4.2 定制透视表 270
7.4.3 透视表的进阶用法 273
7.5 时间序列 276
7.5.1 时间数据的类型 276
7.5.2 时间序列的索引 278
7.5.3 时间序列的数据访问 287
第8章 数据的导入导出 294
8.1 文本数据 294
8.1.1 从文本导入数据 294
8.1.2 导出数据到文本 296
8.2 Excel数据 297
8.2.1 从电子表格导入数据 297
8.2.2 导出数据到电子表格 298
8.3 网络数据 299
8.3.1 JSON格式 299
8.3.2 XML和HTML格式 301
8.4 数据库 302
8.4.1 关系数据库 302
8.4.2 数据库API 303
8.5 Pandas数据对象的导入导出 305
8.5.1 分隔文本格式 305
8.5.2 Excel数据格式 309
8.5.3 JSON数据格式 310
8.5.4 读取数据库 311
第9章 数据可视化 312
9.1 Matplotlib绘图的基础设置 312
9.1.1 绘图面板 312
9.1.2 图形样式 313
9.1.3 坐标轴 315
9.1.4 图例 317
9.2 Pandas绘图接口 318
9.2.1 折线图 318
9.2.2 柱状图 319
9.2.3 直方图和密度图 321
9.2.4 散点图 321
第10章 实战:数据预处理 323
10.1 数据导入 323
10.1.1 数据描述 323
10.1.2 数据读取 323
10.1.3 数据合并 324
10.2 数据清洗 324
10.2.1 冗余数据 324
10.2.2 缺失数据 325
10.2.3 无效数据 325
10.3 数据转换 326
10.3.1 数据类型转换 326
10.3.2 分层索引 327
10.3.3 生成时间序列 327
10.4 数据过滤 329
10.5 数据导出 329
第11章 实战:数据分析 331
11.1 时间序列分析 331
11.1.1 导入时间序列 331
11.1.2 生成时间区间数据 332
11.1.3 时间窗函数 333
11.2 统计分析 336
11.2.1 描述性统计 336
11.2.2 聚合统计 337
11.2.3 分组统计 339
11.3 关联分析 341
11.3.1 数据联合 341
11.3.2 协方差和相关系数 343
11.4 透视表分析 344
11.4.1 数据集整合 344
11.4.2 分层透视表 346
第12章 Python网络爬虫 350
12.1 Robots协议 350
12.2 数据抓取 351
12.2.1 最基本的数据抓取 351
12.2.2 处理登录请求 352
12.2.3 连接超时 353
12.3 Scrapy库 354
12.3.1 搭建工程项目 354
12.3.2 编写爬虫 355
12.3.3 数据选择器 356
12.3.4 定义数据对象 360
12.3.5 数据管道 362
第13章 Scikit-learn机器学习 365
13.1 选择合适的机器学习模型 365
13.2 数据预处理 365
13.2.1 标准化 366
13.2.2 归一化 367
13.2.3 正态化 368
13.3 监督学习 369
13.3.1 线性模型 369
13.3.2 最近邻算法 371
13.3.3 支持向量机 374
13.3.4 随机森林 376
13.4 无监督学习 377
13.4.1 K-means聚类算法 377
13.4.2 主成分分析(PCA) 379
13.4.3 高斯混合模型 381
· · · · · · (收起)
Python数据分析入门与实战的书评 · · · · · · ( 全部 0 条 )
论坛 · · · · · ·
在这本书的论坛里发言以下书单推荐 · · · · · · ( 全部 )
- 未评分书 (北风)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 手里有一本闲着?
订阅关于Python数据分析入门与实战的评论:
feed: rss 2.0
0 有用 异步图书 2023-09-27 14:11:37 北京
信息爆炸、数据量级急剧增长时代的实用工具书。掌握数据分析技巧,运用强大的Python工具,解决工作中繁琐的数据问题,提升效率,从这一本书开始。
0 有用 异步图书 2023-09-27 14:11:37 北京
信息爆炸、数据量级急剧增长时代的实用工具书。掌握数据分析技巧,运用强大的Python工具,解决工作中繁琐的数据问题,提升效率,从这一本书开始。