Python数据处理、分析、可视化与数据化运营

一本书学会python数据分析、数据化运营
分享 推荐 9 收藏 294 阅读 8.7K
宋天龙 (编著) 978-7-115-52759-2

关于本书的内容有任何问题,请联系 人邮教育-赵广宇

1.作者经验丰富。本书作者在数据分析领域工作10年,拥有大量的数据分析经验,并且在数据分析领域颇有口碑。
2.结构合理,层次清晰。本书内容围绕数据分析展开,能将数据分析工作流程介绍清楚且完整、实用,不仅能帮助读者学到所学知识,更能帮助读者快速用到数据分析实践中。
3.案例与实训丰富。本书不仅提供专业的理论知识,而且配有案例和课后实训,帮助读者快速了解Python数据分析知识。

欢迎加入“人邮数据科学与统计教学QQ交流群”,群号:1056931673,本群会不定期分享数据科学好书及相关资源文件。

内容摘要

本书主要围绕Python在企业中的数据分析工作实践进行编写。全书共10章,内容包括认识Python、Python语言基础、数据对象的读写、数据清洗和预处理、数据可视化、基本数据统计分析、高级数据建模分析、自然语言处理和文本挖掘、数据分析部署和应用、数据分析与数据化运营等。本书将数据分析技术与数据应用场景深度结合,具有很强的实用性和操作性。
本书可作为普通高等院校本科、专科统计学、商务分析、大数据等相关课程的教材,也可作为数据分析人员的参考用书。

目录

目 录
第1章 认识Python 1
1.1 Python与数据分析 1
1.1.1 Python的概念 1
1.1.2 数据分析与Python 2
1.2 准备Python程序环境 2
1.2.1 安装Python程序 2
1.2.2 安装第三方库 3
1.3 Python数据分析库 4
1.3.1 Pandas 4
1.3.2 SciPy 4
1.3.3 NumPy 4
1.3.4 scikit-learn 5
1.3.5 Statsmodels 5
1.3.6 Gensim 5
1.4 Python交互环境Jupyter 5
1.4.1 启动Jupyter 6
1.4.2 Jupyter的功能区 6
1.4.3 Jupyter的常用操作 7
1.4.4 Jupyter的魔术命令 9
1.4.5 Jupyter的配置 10
1.5 执行第一个Python程序 10
1.6 新手常见误区 11
1.6.1 随意升级库到最新版本 11
1.6.2 纠结于使用Python2还是
Python3 12
1.6.3 纠结于选择32位还是64位
版本 12
实训:打印自己的名字 12
思考与练习 13
第2章 Python语言基础 14
2.1 基础规则 14
2.1.1 Python解释器 14
2.1.2 编码声明 14
2.1.3 缩进和执行域 14
2.1.4 长语句断行 15
2.1.5 单行和多行注释 15
2.1.6 变量的命名规则和赋值规则 16
2.2 数据类型 16
2.2.1 数字型数据 16
2.2.2 字符串型数据 16
2.2.3 日期型数据 17
2.2.4 数据类型的判断与转换 17
2.3 数据结构 19
2.3.1 列表和列表推导式 19
2.3.2 元组和元组推导式 21
2.3.3 字典和字典推导式 22
2.3.4 集合和集合推导式 23
2.3.5 数据结构的判断与转换 25
2.4 条件表达式与判断 25
2.4.1 单层条件判断 25
2.4.2 嵌套条件判断 26
2.4.3 多条件判断中的and和or 26
2.4.4 多条件判断中的链式比较、
all和any 26
2.4.5 基于条件表达式的赋值 27
2.5 循环和流程控制 27
2.5.1 for循环和条件表达式 27
2.5.2 while循环和条件表达式 27
2.5.3 循环嵌套 27
2.5.4 无限循环 28
2.5.5 break和continue控制 28
2.6 运算符 28
2.6.1 算术运算符 28
2.6.2 赋值运算符 29
2.6.3 比较运算符 30
2.6.4 逻辑运算符 30
2.6.5 成员运算符 30
2.6.6 身份运算符 30
2.6.7 运算符优先级 31
2.7 字符串处理和正则表达式 31
2.7.1 字符串格式化 31
2.7.2 字符串的编译执行 33
2.7.3 内置字符串处理方法 33
2.7.4 正则表达式的应用 35
2.8 功能模块的封装 37
2.8.1 函数 37
2.8.2 匿名函数 38
2.8.3 类 38
2.9 高阶计算函数的应用 39
2.9.1 map 39
2.9.2 reduce 40
2.9.3 filter 40
2.10 导入Python库 41
2.10.1 导入标准库和第三方库 41
2.10.2 导入自定义库 42
2.10.3 使用库的别名 42
2.10.4 不同库的导入顺序 42
2.11 Pandas库基础 42
2.11.1 创建数据对象 43
2.11.2 查看数据信息 43
2.11.3 数据切片和切块 44
2.11.4 数据筛选和过滤 45
2.11.5 数据预处理操作 46
2.11.6 数据合并和匹配 47
2.11.7 数据分类汇总 48
2.11.8 高级函数使用 48
2.12 新手常见误区 49
2.12.1 错误的缩进导致功能范围
混乱 49
2.12.2 混淆赋值和条件判断符号 49
2.12.3 列表长度与初始索引、
终止索引误用 50
2.12.4 表达式或功能缺少冒号 50
2.12.5 变量名的冲突问题 50
2.12.6 混淆int和round对浮点数的
取整 50
实训:对列表中的元素按不同逻辑
处理 51
思考与练习 51
第3章 数据对象的读写 52
3.1 目录与文件操作 52
3.1.1 获取目录信息 52
3.1.2 目录的基本操作 53
3.1.3 路径与目录的组合与拆分 54
3.1.4 目录的判断 54
3.1.5 遍历目录 55
3.1.6 文件的基本操作 55
3.2 数据文件的读写 57
3.2.1 读写普通文件 57
3.2.2 读写csv、txt、tsv等格式的
文件 59
3.2.3 读写Excel文件 63
3.2.4 读写JSON文件 65
3.2.5 读写SPSS Statistics、SAS、
Stata数据文件 66
3.2.6 读写R数据文件 69
3.3 数据库的读写 70
3.3.1 读写结构化数据库MySQL 71
3.3.2 读写非结构化数据库
MongoDB 74
3.4 数据对象持久化 75
3.4.1 使用pickle读写持久化对象 76
3.4.2 使用sklearn读写持久化对象 76
3.5 新手常见误区 77
3.5.1 不注意工作路径导致无法找
到文件 77
3.5.2 忽视不同操作系统下代码的
写法问题 77
3.5.3 文件对象未正常关闭导致
数据或程序异常 78
3.5.4 pickle读写对象无法执行
read和write方法 78
3.5.5 默认读取的多段落数据末尾
有\n而不处理 78
3.5.6 文件write写入的对象不是
字符串 79
实训:多条件数据库读写操作 79
思考与练习 80
第4章 数据清洗和预处理 81
4.1 数据审核 81
4.1.1 查看数据状态 81
4.1.2 审核数据类型 81
4.1.3 分析数据分布趋势 82
4.2 缺失值处理 83
4.2.1 查看缺失值记录 83
4.2.2 查看缺失值列 83
4.2.3 NA值处理 83
4.3 异常值处理 84
4.3.1 基于经验值的判断和选择 84
4.3.2 基于均值和标准差的判断和
选择 85
4.3.3 基于分位数的判断和选择 85
4.4 重复值处理 86
4.4.1 判断重复值 86
4.4.2 去除重复值 86
4.5 数据抽样 86
4.5.1 随机抽样 86
4.5.2 分层抽样 86
4.6 数据格式与值变换 87
4.6.1 字符串转日期 87
4.6.2 提取日期和时间 88
4.6.3 提取时间元素 88
4.7 标准化和归一化 89
4.7.1 Z-SCORE标准化 89
4.7.2 MaxMin数据归一化 89
4.8 离散化和二元化 90
4.8.1 基于自定义区间的离散化 90
4.8.2 基于分位数法离散化 90
4.8.3 基于指定条件的二元化 91
4.9 分类特征处理 91
4.9.1 分类特征转数值索引 91
4.9.2 OneHotEncode 转换 92
4.10 特征选择 92
4.11 分词 93
4.12 文本转向量 94
4.13 新手常见误区 94
4.13.1 没有先做NA值处理导致
后续清洗工作频繁报错 94
4.13.2 直接抛弃异常值 95
4.13.3 用数值索引代替分类字符
串参与模型计算 95
4.13.4 使用分位数法离散化并做
不同周期的数据对比 95
4.13.5 把抽样当作一个必备的
工作环节 96
实训:综合性数据预处理 96
思考与练习 97
第5章 数据可视化 98
5.1 数据可视化应用概述 98
5.1.1 常用的数据可视化库 98
5.1.2 如何选择恰当的数据可视化
方式 99
5.2 简单数据信息的可视化 99
5.2.1 使用条形图和柱形图表达
数据差异 101
5.2.2 使用折线图和柱形图展示
趋势 103
5.2.3 使用饼图和面积图展示成分
或结构信息 104
5.2.4 使用散点图或蜂窝图展示
数据间的关系 107
5.3 复杂数据信息的可视化 108
5.3.1 使用成对关系图对多组数据
同时做关系可视化 108
5.3.2 使用带回归拟合线的散点图
做回归拟合的可视化 109
5.3.3 使用热力图做相关关系
可视化 110
5.3.4 使用日历图展示不同时间
下的销售分布 111
5.3.5 使用箱型图和散点图查看
数据分布规律 111
5.3.6 使用分类柱形图展示多个
维度细分值分布 112
5.3.7 使用等高线图绘制核密度
分布 113
5.3.8 使用坡度图绘制数据变化
差异 114
5.3.9 使用漏斗图展示不同转化
环节的完成情况 115
5.3.10 使用关系图展示不同元素
间的关联关系 116
5.3.11 使用雷达图展示多个元素
在不同属性上的差异 117
5.3.12 用词云展示关键字分布 118
5.4 新手常见误区 119
5.4.1 没有明确数据可视化的目标 119
5.4.2 通过特殊图形设置误导受众 119
5.4.3 选择过于“花哨”的图形却
忽略了可视化的本质 119
5.4.4 缺乏根据信息表达目标
选择“最佳”图形的意识 120
5.4.5 信息过载 120
实训:综合性数据可视化 120
思考与练习 121
第6章 基本数据统计分析 122
6.1 描述性统计分析 122
6.1.1 通用描述信息 123
6.1.2 集中性趋势 123
6.1.3 离散性趋势 124
6.2 交叉对比和趋势分析 125
6.2.1 交叉对比分析 125
6.2.2 交叉趋势分析 126
6.3 结构与贡献分析 127
6.3.1 占比分析 127
6.3.2 二八法则分析 128
6.3.3 ABC分析 129
6.3.4 长尾分析 130
6.4 分组与聚合分析 131
6.4.1 使用分位数聚合分析 131
6.4.2 基于均值和标准差的聚合
分析 132
6.5 相关性分析 132
6.5.1 Pearson相关性分析 133
6.5.2 Spearman相关性分析 133
6.5.3 Kendall相关性分析 134
6.6 主成分分析与因子分析 134
6.6.1 主成分分析 135
6.6.2 因子分析 136
6.7 漏斗、路径与归因分析 137
6.7.1 漏斗分析 137
6.7.2 路径分析 137
6.7.3 归因分析 138
6.8 新手常见误区 139
6.8.1 把数据陈述当作数据结论 139
6.8.2 通过单一指标得出数据结论 139
6.8.3 注重分析过程但没有分析
结论 140
6.8.4 忽视数据分析的落地性 140
实训:基本数据统计分析思维训练 140
思考与练习 141
第7章 高级数据建模分析 142
7.1 使用k均值聚类算法挖掘用户
潜在特征 142
7.1.1 算法引言 142
7.1.2 案例背景 143
7.1.3 数据源概述 143
7.1.4 案例实现过程 143
7.1.5 用户特征分析 146
7.1.6 拓展思考 146
7.2 使用CART预测用户是否会
产生转化 146
7.2.1 算法引言 146
7.2.2 案例背景 147
7.2.3 数据源概述 147
7.2.4 案例实现过程 148
7.2.5 分析用户的转化可能性 150
7.2.6 拓展思考 151
7.3 使用主成分分析+岭回归预测
广告UV量 151
7.3.1 算法引言 151
7.3.2 案例背景 152
7.3.3 数据源概述 152
7.3.4 案例实现过程 153
7.3.5 获得广告UV量 156
7.3.6 拓展思考 156
7.4 使用Apriori关联分析提高商品
销量 156
7.4.1 算法引言 156
7.4.2 案例背景 157
7.4.3 数据源概述 157
7.4.4 案例实现过程 157
7.4.5 通过关联分析结果提高销量 160
7.4.6 拓展思考 161
7.5 使用PrefixSpan序列关联分析找到用户下一个最可能访问的页面 161
7.5.1 算法引言 161
7.5.2 案例背景 161
7.5.3 数据源概述 162
7.5.4 案例实现过程 162
7.5.5 通过序列模式引导用户页面
访问行为 165
7.5.6 拓展思考 165
7.6 使用auto ARIMA时间序列预测
线下门店销量 166
7.6.1 算法引言 166
7.6.2 案例背景 166
7.6.3 数据源概述 166
7.6.4 案例实现过程 167
7.6.5 得到未来7天的销售量 170
7.6.6 拓展思考 171
7.7 使用Isolation Forest异常检测找
到异常广告流量 171
7.7.1 算法引言 171
7.7.2 案例背景 172
7.7.3 数据源概述 172
7.7.4 案例实现过程 174
7.7.5 分析异常检测结果 176
7.7.6 拓展思考 178
7.8 新手常见误区 178
7.8.1 认为某种算法适用于所有
应用场景 178
7.8.2 并不是模型拟合程度越高
效果越好 179
7.8.3 应用回归模型时忽略自变量
是否产生变化 179
7.8.4 关联分析可以跨维度 180
7.8.5 很多时候模型得到的异常
未必是真的异常 180
实训 180
实训1 预测用户是否流失 180
实训2 预测目标用户的总订单
金额 181
实训3 找到整体用户频繁购买的
商品 181
思考与练习 182
第8章 自然语言处理和文本挖掘 183
8.1 使用结巴分词提取用户评论
关键字 183
8.1.1 算法引言 183
8.1.2 案例背景 184
8.1.3 数据源概述 184
8.1.4 案例实现过程 184
8.1.5 分析用户评论关键字 187
8.1.6 拓展思考 187
8.2 使用LDA主题模型分析新闻
主题 188
8.2.1 算法引言 188
8.2.2 案例背景 188
8.2.3 数据源概述 188
8.2.4 案例实现过程 189
8.2.5 分析主题结果 190
8.2.6 拓展思考 191
8.3 使用随机森林预测用户评分倾向 192
8.3.1 算法引言 192
8.3.2 案例背景 192
8.3.3 数据源概述 192
8.3.4 案例实现过程 193
8.3.5 预测新用户的评分 195
8.3.6 拓展思考 195
8.4 使用TextRank自动提取摘要
和关键短语 196
8.4.1 算法引言 196
8.4.2 案例背景 196
8.4.3 数据源概述 196
8.4.4 案例实现过程 197
8.4.5 拓展思考 198
8.5 新手常见误区 198
8.5.1 混淆中文分词与英文分词
引擎 198
8.5.2 只用词频计算词的重要性 198
8.5.3 忽略文本预处理环节 199
实训:提取关键字、关键短语和摘要 199
思考与练习 199
第9章 数据分析部署和应用 201
9.1 批量合并数据文件 201
9.1.1 应用背景 201
9.1.2 工作需求 201
9.1.3 实现过程 202
9.2 从数据库中抽取数据并生成
结果文件 204
9.2.1 应用背景 204
9.2.2 工作需求 204
9.2.3 实现过程 205
9.3 发送普通E-mail并附带数据
文件 209
9.3.1 应用背景 209
9.3.2 工作需求 209
9.3.3 实现过程 209
9.4 发送HTML富媒体样式的邮件 212
9.4.1 应用背景 212
9.4.2 工作需求 212
9.4.3 实现过程 212
9.5 系统自动执行Python脚本和
数据任务 214
9.5.1 应用背景 214
9.5.2 工作需求 214
9.5.3 实现过程 214
9.6 新手常见误区 219
9.6.1 不注重自动化的工作方式 219
9.6.2 数据输出物的美观度也是
一种数据价值 219
9.6.3 缺乏对自动化作业任务的
监控 219
实训:将日常发送邮件工作自动化 219
思考与练习 220
第10章 数据分析与数据化运营 221
10.1 数据报告矩阵 221
10.1.1 临时分析 221
10.1.2 实时分析 222
10.1.3 日常报告 222
10.1.4 专题分析 222
10.1.5 项目分析 223
10.2 分析指标矩阵 223
10.2.1 会员运营 224
10.2.2 商品运营 224
10.2.3 广告运营 225
10.2.4 网站运营 226
10.3 探索维度矩阵 226
10.3.1 目标端 227
10.3.2 媒体端 227
10.3.3 用户端 228
10.3.4 网站端 229
10.3.5 竞争端 229
10.4 应用场景矩阵 230
10.4.1 效果预测 230
10.4.2 结论定义 230
10.4.3 数据探究 231
10.4.4 业务执行 231
10.5 新手常见误区 231
10.5.1 把数据陈列当作数据结论 231
10.5.2 数据结论产生于单一
指标 232
10.5.3 数据立场扭曲的数据结论 232
10.5.4 忽视多种数据落地方式 233
实训:搭建针对企业的数据化运营
应用体系 233
思考与练习 233

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

宋天龙(TonySong),历任Webtrekk中国区数据总监(Webtrekk,德国最大的网站数据分析服务提供商),国美在线大数据中心经理,数据常青藤和数据研究与商业应用博主。萝卜课堂和天善学院特邀讲师,百度文库认证作家、36大数据、站长之家、互联网分析沙龙专栏作家。

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部