资料介绍
前言..........................................................................................................................................................xi 第 1 章 Python 基础..........................................................................................................................1
1.1 创建 Python 脚本........................................................................................................................1 1.2 运行 Python 脚本........................................................................................................................3 1.3 与命令行进行交互的几项技巧 ................................................................................................. 6 1.4 Python 语言基础要素...............................................................................................................10
1.4.1 数值 ..............................................................................................................................10 1.4.2 字符串 ..........................................................................................................................12 1.4.3 正则表达式与模式匹配 ..............................................................................................16 1.4.4 日期 ..............................................................................................................................19 1.4.5 列表 ..............................................................................................................................21 1.4.6 元组 ..............................................................................................................................26 1.4.7 字典 ..............................................................................................................................27 1.4.8 控制流 ..........................................................................................................................30
1.5 读取文本文件 ........................................................................................................................... 35 1.5.1 创建文本文件 ..............................................................................................................36 1.5.2 脚本和输入文件在同一位置 ......................................................................................38 1.5.3 读取文件的新型语法 ..................................................................................................38
1.6 使用 glob 读取多个文本文件 ................................................................................................. 39 1.7 写入文本文件 ........................................................................................................................... 42 1.7.1 向 first_script.py 添加代码..........................................................................................42 1.7.2 写入 CSV 文件.............................................................................................................45 1.8 print 语句 ................................................................................................................................46 1.9 本章练习 ................................................................................................................................... 47
目录
vii
第 2 章 CSV 文件 ............................................................................................................................48
2.1 基础 Python 与 pandas .............................................................................................................50 2.1.1 读写 CSV 文件(第 1 部分).......................................................................................50 2.1.2 基本字符串分析是如何失败的 ..................................................................................56 2.1.3 读写 CSV 文件(第 2 部分).......................................................................................57
2.2 筛选特定的行 ........................................................................................................................... 58 2.2.1 行中的值满足某个条件 ..............................................................................................59 2.2.2 行中的值属于某个集合 ..............................................................................................60 2.2.3 行中的值匹配于某个模式 / 正则表达式 ...................................................................62
2.3 选取特定的列 ........................................................................................................................... 64 2.3.1 列索引值 ......................................................................................................................64 2.3.2 列标题 ..........................................................................................................................65
2.4 选取连续的行 ........................................................................................................................... 67 2.5 添加标题行 ............................................................................................................................... 69 2.6 读取多个 CSV 文件.................................................................................................................71 2.7 从多个文件中连接数据 ........................................................................................................... 75 2.8 计算每个文件中值的总和与均值 ........................................................................................... 78 2.9 本章练习 ................................................................................................................................... 81
第 3 章 Excel 文件...........................................................................................................................82
3.1 内省 Excel 工作簿....................................................................................................................84 3.2 处理单个工作表 ....................................................................................................................... 88 3.2.1 读写 Excel 文件 ...........................................................................................................88 3.2.2 筛选特定行 ..................................................................................................................92 3.2.3 选取特定列 ..................................................................................................................98 3.3 读取工作簿中的所有工作表 ................................................................................................. 101 3.3.1 在所有工作表中筛选特定行 ....................................................................................102 3.3.2 在所有工作表中选取特定列 ....................................................................................104 3.4 在 Excel 工作簿中读取一组工作表......................................................................................106 3.5 处理多个工作簿 ..................................................................................................................... 108 3.5.1 工作表计数以及每个工作表中的行列计数 ............................................................ 110 3.5.2 从多个工作簿中连接数据 ........................................................................................ 111 3.5.3 为每个工作簿和工作表计算总数和均值 ................................................................ 113 3.6 本章练习 ................................................................................................................................. 117
第 4 章 数据库 ................................................................................................................................ 118
4.1 Python 内置的 sqlite3 模块.................................................................................................119 4.1.1 向表中插入新记录 ....................................................................................................124 4.1.2 更新表中记录 ............................................................................................................128
4.2 MySQL 数据库.......................................................................................................................131 4.2.1 向表中插入新记录 ....................................................................................................135
viii | 目录
4.2.2 查询一个表并将输出写入 CSV 文件.......................................................................140
4.2.3 更新表中记录 ............................................................................................................142 4.3 本章练习 ................................................................................................................................. 146
第 5 章 应用程序............................................................................................................................147
5.1 在一个大文件集合中查找一组项目 ..................................................................................... 147 5.2 为 CSV 文件中数据的任意数目分类计算统计量...............................................................158 5.3 为文本文件中数据的任意数目分类计算统计量 ................................................................. 167 5.4 本章练习 ................................................................................................................................. 174
第 6 章 图与图表............................................................................................................................175
6.1 matplotlib..............................................................................................................................175 6.1.1 条形图 ........................................................................................................................175 6.1.2 直方图 ........................................................................................................................177 6.1.3 折线图 ........................................................................................................................178 6.1.4 散点图 ........................................................................................................................180 6.1.5 箱线图 ........................................................................................................................181
6.2 pandas .....................................................................................................................................183 6.3 ggplot .....................................................................................................................................184 6.4 seaborn ...................................................................................................................................186
第 7 章 描述性统计与建模..........................................................................................................192
7.1 数据集 ..................................................................................................................................... 192 7.1.1 葡萄酒质量 ................................................................................................................192 7.1.2 客户流失 ....................................................................................................................193
7.2 葡萄酒质量 ............................................................................................................................. 194 7.2.1 描述性统计 ................................................................................................................194 7.2.2 分组、直方图与 t 检验 .............................................................................................195 7.2.3 成对变量之间的关系和相关性 ................................................................................196 7.2.4 使用最小二乘估计进行线性回归 ............................................................................198 7.2.5 系数解释 ....................................................................................................................200 7.2.6 自变量标准化 ............................................................................................................200 7.2.7 预测 ............................................................................................................................202
7.3 客户流失 ................................................................................................................................. 203 7.3.1 逻辑斯蒂回归 ............................................................................................................205 7.3.2 系数解释 ....................................................................................................................207 7.3.3 预测 ............................................................................................................................208
第 8 章 按计划自动运行脚本......................................................................................................209 8.1 任务计划程序(Windows 系统)...........................................................................................209
8.2 cron 工具(macOS 系统和 Unix 系统)................................................................................215 目录 | ix
8.2.1 cron 表文件:一次性设置 ........................................................................................216 8.2.2 向 cron 表文件中添加 cron 任务 ..............................................................................216
第 9 章 从这里启航 ....................................................................................................................... 220
9.1 更多的标准库模块和内置函数 ............................................................................................. 221 9.1.1 Python 标准库(PSL):更多的标准模块 .............................................................. 221 9.1.2 内置函数 ....................................................................................................................222
9.2 Python 包索引(PyPI):更多的扩展模块..........................................................................222 9.2.1 NumPy ........................................................................................................................ 223 9.2.2 SciPy ........................................................................................................................... 227 9.2.3 Scikit-Learn ................................................................................................................230 9.2.4 更多的扩展包 ............................................................................................................232
9.3 更多的数据结构 ..................................................................................................................... 232 9.3.1 栈 ................................................................................................................................233 9.3.2 队列 ............................................................................................................................233 9.3.3 图 ................................................................................................................................233 9.3.4 树 ................................................................................................................................234
9.4 从这里启航 ............................................................................................................................. 234 附录 A 下载指南 ............................................................................................................................236
附录 B 练习答案 ............................................................................................................................245 作者介绍..............................................................................................................................................247 封面介绍..............................................................................................................................................247