1 准备 1
1.1开发环境搭建 2
1.1.1在Ubuntu系统下搭建Python集成开发环境 2
1.1.2在Windows系统下搭建Python集成开发环境 13
1.1.3三种安装第三方库的方法 16
1.2 Python基础语法介绍 19
1.2.1 if__name__==’__main__’ 20
1.2.2列表解析式 22
1.2.3装饰器 23
1.2.4递归函数 26
1.2.5面向对象 27
1.3 The Zen of Python 28
参考文献 30
2数据的获取 31
2.1爬虫简介 31
2.2数据抓取实践 33
2.2.1请求网页数据 33
2.2.2网页解析 38
2.2.3数据的存储 46
2.3爬虫进阶 50
2.3.1异常处理 50
2.3.2 robots.txt 58
2.3.3动态UA 60
2.3.4代理IP 61
2.3.5编码检测 61
2.3.6正则表达式入门 63
2.3.7模拟登录 69
2.3.8验证码问题 74
2.3.9动态加载内容的获取 84
2.3.10多线程与多进程 93
2.4爬虫总结 101
参考文献 102
3数据的存取与清洗 103
3.1数据存取 103
3.1.1基本文件操作 103
3.1.2 CSV文件的存取 111
3.1.3 JSON文件的存取 116
3.1.4 XLSX文件的存取 121
3.1.5 MySQL数据库文件的存取 137
3.2 NumPy 145
3.2.1 NumPy简介 145
3.2.2 NumPy基本操作 146
3.3 pandas 158
3.3.1 pandas简介 158
3.3.2 Series与DataFrame的使用 159
3.3.3布尔值数组与函数应用 169
3.4数据的清洗 174
3.4.1编码问题 174
3.4.2缺失值的检测与处理 175
3.4.3去除异常值 181
3.4.4去除重复值与冗余信息 183
3.4.5注意事项 185
参考文献 187
4数据的分析及可视化 188
4.1探索性数据分析 189
4.1.1基本流程 189
4.1.2数据降维 197
4.2机器学习入门 199
4.2.1机器学习简介 200
4.2.2决策树——机器学习算法的应用 202
4.3手动实现KNN算法 205
4.3.1特例——最邻近分类器 205
4.3.2 KNN算法的完整实现 213
4.4数据可视化 215
4.4.1高质量作图工具——matplotlib 215
4.4.2快速作图工具——pandas与matplotlib 223
4.4.3简捷作图工具——seaborn与matplotlib 226
4.4.4词云图 230
参考文献 232
5 Python与生活 234
5.1定制一个新闻提醒服务 234
5.1.1新闻数据的抓取 235
5.1.2实现邮件发送功能 237
5.1.3定时执行及本地日志记录 239
5.2 Python与数学 241
5.2.1估计π值 242
5.2.2三门问题 245
5.2.3解决LP与QP问题(选读) 247
5.3 QQ群聊天记录数据分析 251
参考文献 256