前言 xiii
第一部分 Python入门
第 1 章 为什么要用Python为Excel编程 3
1.1 Excel作为一门编程语言 4
1.1.1 新闻中的Excel 5
1.1.2 编程最佳实践 5
1.1.3 现代Excel 10
1.2 用在Excel上的Python 11
1.2.1 可读性和可维护性 11
1.2.2 标准库和包管理器 12
1.2.3 科学计算 13
1.2.4 现代语言特性 14
1.2.5 跨平台兼容性 15
1.3 小结 15
第 2 章 开发环境 17
2.1 Anaconda Python发行版 18
2.1.1 安装 18
2.1.2 Anaconda Prompt 19
2.1.3 Python REPL:交互式Python会话 21
2.1.4 包管理器:Conda和pip 22
2.1.5 Conda环境 24
2.2 Jupyter笔记本 24
2.2.1 运行Jupyter笔记本 25
2.2.2 笔记本单元格 26
2.2.3 编辑模式与命令模式 28
2.2.4 执行顺序很重要 28
2.2.5 关闭Jupyter笔记本 28
2.3 VS Code 30
2.3.1 安装和配置 31
2.3.2 执行Python脚本 33
2.4 小结 36
第 3 章 Python入门 37
3.1 数据类型 37
3.1.1 对象 38
3.1.2 数值类型 39
3.1.3 布尔值 41
3.1.4 字符串 42
3.2 索引和切片 43
3.2.1 索引 43
3.2.2 切片 44
3.3 数据结构 45
3.3.1 列表 45
3.3.2 字典 47
3.3.3 元组 49
3.3.4 集合 49
3.4 控制流 50
3.4.1 代码块和pass语句 50
3.4.2 if 语句和条件表达式 51
3.4.3 for 循环和while循环 52
3.4.4 列表、字典和集合推导式 55
3.5 组织代码 56
3.5.1 函数 56
3.5.2 模块和import语句 57
3.5.3 datetime类 59
3.6 PEP 8:Python风格指南 61
3.6.1 PEP 8和VS Code 62
3.6.2 类型提示 63
3.7 小结 64
第二部分 pandas入门
第4 章 NumPy基础 67
4.1 NumPy入门 67
4.1.1 NumPy数组 67
4.1.2 向量化和广播 69
4.1.3 通用函数 70
4.2 创建和操作数组 71
4.2.1 存取元素 71
4.2.2 方便的数组构造器 72
4.2.3 视图和副本 73
4.3 小结 73
第 5 章 使用pandas进行数据分析 74
5.1 DataFrame和Series 74
5.1.1 索引 76
5.1.2 列 79
5.2 数据操作 80
5.2.1 选取数据 80
5.2.2 设置数据 85
5.2.3 缺失数据 87
5.2.4 重复数据 89
5.2.5 算术运算 90
5.2.6 处理文本列 91
5.2.7 应用函数 92
5.2.8 视图和副本 93
5.3 组合DataFrame 94
5.3.1 连接 94
5.3.2 连接和合并 95
5.4 描述性统计量和数据聚合 97
5.4.1 描述性统计量 97
5.4.2 分组 98
5.4.3 透视和熔化 99
5.5 绘图 100
5.5.1 Matplotlib 100
5.5.2 Plotly 102
5.6 导入和导出DataFrame 104
5.6.1 导出CSV文件 105
5.6.2 导入CSV文件 106
5.7 小结 107
第6 章 使用pandas进行时序分析 109
6.1 DatetimeIndex 110
6.1.1 创建DatetimeIndex 110
6.1.2 筛选DatetimeIndex 112
6.1.3 处理时区 113
6.2 常见时序操作 114
6.2.1 移动和百分比变化率 114
6.2.2 基数的更改和相关性 116
6.2.3 重新采样 118
6.2.4 滚动窗口 119
6.3 pandas的局限性 120
6.4 小结 121
第三部分 在Excel之外读写Excel文件
第 7 章 使用pandas操作Excel文件 125
7.1 案例研究:Excel报表 125
7.2 使用pandas读写Excel文件 128
7.2.1 read_excel函数和ExcelFile类 128
7.2.2 to_excel方法和ExcelWriter类 133
7.3 使用pandas处理Excel文件的局限性 134
7.4 小结 135
第 8 章 使用读写包操作Excel文件 136
8.1 读写包 136
8.1.1 何时使用何种包 137
8.1.2 excel.py模块 138
8.1.3 OpenPyXL 139
8.1.4 XlsxWriter 143
8.1.5 pyxlsb 145
8.1.6 xlrd、xlwt和xlutils 146
8.2 读写包的高级主题 149
8.2.1 处理大型Excel文件 149
8.2.2 调整DataFrame在Excel中的格式 152
8.2.3 案例研究(复习):Excel报表 157
8.3 小结 158
第四部分 使用xlwings对Excel应用程序进行编程
第 9 章 Excel自动化 161
9.1 开始使用xlwings 162
9.1.1 将Excel用作数据查看器 162
9.1.2 Excel对象模型 163
9.1.3 运行VBA代码 170
9.2 转换器、选项和集合 170
9.2.1 处理DataFrame 171
9.2.2 转换器和选项 172
9.2.3 图表、图片和已定义名称 174
9.2.4 案例研究(再次回顾):Excel报表 177
9.3 高级xlwings主题 179
9.3.1 xlwings的基础 179
9.3.2 提升性能 180
9.3.3 如何弥补缺失的功能 181
9.4 小结 182
第 10 章 Python驱动的Excel工具 183
10.1 利用xlwings将Excel用作前端 183
10.1.1 Excel插件 184
10.1.2 quickstart命令 185
10.1.3 Run main 186
10.1.4 RunPython函数187
10.2 部署 191
10.2.1 Python依赖 191
10.2.2 独立工作簿:脱离xlwings插件 191
10.2.3 配置的层次关系 192
10.2.4 设置 193
10.3 小结 194
第 11 章 Python包追踪器 195
11.1 构建什么样的应用程序 195
11.2 核心功能 197
11.2.1 Web API 198
11.2.2 数据库 201
11.2.3 异常 208
11.3 应用程序架构 210
11.3.1 前端 211
11.3.2 后端 215
11.3.3 调试 217
11.4 小结 219
第 12 章 用户定义函数 220
12.1 UDF入门 220
12.2 案例研究:Google Trends 225
12.2.1 Google Trends简介 225
12.2.2 使用DataFrame和动态数组 226
12.2.3 从Google Trends上获取数据 231
12.2.4 使用UDF绘制图表 234
12.2.5 调试UDF 236
12.3 高级UDF主题 238
12.3.1 基础性能优化 238
12.3.2 缓存 240
12.3.3 sub装饰器 242
12.4 小结 243
附录A Conda环境 245
附录B 高级VS Code功能 248
附录C 高级Python概念 253
· · · · · · (
收起)
8 有用 山梨酸钾 2022-10-02 14:28:00 辽宁
仿佛在21世纪,在教人如何骑马骑得更快,而不是教人如何开汽车。整体的知识点都太过简略,读好一点的博客可能会更省时省力些。
2 有用 丘山志 2022-12-17 12:55:34 北京
工具书,工作需要,提高数据分析效率,多学一门技能。
0 有用 swanix 2023-04-15 20:02:08 北京
官方出品的 教程,质量没得说但基础太差的话还是劝退吧
0 有用 社交懒人 2024-11-12 17:09:55 福建
很混乱,不推荐。
0 有用 漩涡。 2024-08-14 16:56:41 浙江
对b站课程的吸收速度之快,让我忘却了我本身的知识浅薄。 知识吸收越快,其实越说明这些并不属于自己。 很想欺骗自己说,是这本书太难,没有遇到一个好的总结归纳的老师。 但是总结归纳终究还是得自己来干,因为知识的获取从来都没有想象中的那么简单。 令人讽刺的是,被外界多多少少影响的我也曾认为读专业书才是功利的表现,真正沉下心来读才发现,一颗学术的心,一颗对知识有着纯粹追求的心,是绝不参杂世俗意义上的功利... 对b站课程的吸收速度之快,让我忘却了我本身的知识浅薄。 知识吸收越快,其实越说明这些并不属于自己。 很想欺骗自己说,是这本书太难,没有遇到一个好的总结归纳的老师。 但是总结归纳终究还是得自己来干,因为知识的获取从来都没有想象中的那么简单。 令人讽刺的是,被外界多多少少影响的我也曾认为读专业书才是功利的表现,真正沉下心来读才发现,一颗学术的心,一颗对知识有着纯粹追求的心,是绝不参杂世俗意义上的功利之心的。 我不奢望一本书就能让我立马掌握如海的知识,但是每一本书,特别是这本书,让我浮躁的心慢慢平静下来。 从专业的角度来评价,一些基本知识还是过了一遍的,但是比较高级的内容,还是让我望而生畏,感觉艰涩难懂。内容其实不适合小白,因为内容从基础之后,就开始跳跃了。 (展开)