Python科学计算和数据科学应用(第2版) 使用NumPy、SciPy和matplotlib
定 价:198 元
丛书名:大数据应用与技术丛书
- 作者:[美]罗伯特·约翰逊(Robert Johansson) 著,黄强 译
- 出版时间:2020/6/1
- ISBN:9787302552802
- 出 版 社:清华大学出版社
- 中图法分类:TP311.561
- 页码:512
- 纸张:胶版纸
- 版次:1
- 开本:16K
《Python科学计算和数据科学应用(第2版) 使用NumPy、SciPy和matplotlib》全面介绍Python在数值计算和数学领域的模块、标准库以及多个开源Python库,如NumPy、SciPy、FiPy、matplotlib等。在上一版的基础上,本书做了全面修订,更新了每个包的更新细节以及Jupyter项目的变化,演示了数值计算和数学建模在大数据、云计算、金融工程、商业管理等领域的应用。
本书提供了Python在数据科学和统计分析中很多新的应用示例,对上一版中的示例进行了扩展,每个示例都充分展示了Python的简洁语法及其数据分析方法在快速开发和探索性计算方面的强大功能。
通过阅读本书,读者将熟悉很多计算技术,包括基于数组的计算和符号计算、数据可视化和数值文件读写、方程求解、优化、插值和积分以及特定领域的计算问题,如微分方程求解、数据分析、统计建模和机器学习等。
Robert Johansson是一位经验丰富的Python程序员和计算科学家,他拥有瑞典查尔斯理工大学理论物理学博士学位。他在学术界和工业界从事科学计算工作超过10年,既参与过开源项目的开发,也做过专有性研究项目的开发。在开源领域,他为QuTip项目做出了很多贡献,QuTip项目是一个很流行的用于模拟量子动力学的Python框架,他还为科学计算领域的其他几个Python库做出过贡献。Robert对科学计算和软件开发充满热情,并热衷于传授和交流这方面的佳实践,以便能在这些领域取得好的成果:新颖的、可重现的、可扩展的计算结果。Robert在理论物理和计算物理领域有5年的研究背景,目前他是IT行业的数据科学家。
译者简介
黄强,本科和硕士分别毕业于中山大学和中国科学院研究生院,目前在一家国有银行从事信息科技方面的工作。对信息技术的前沿发展及应用有着浓厚的兴趣,包括云计算、人工智能、金融科技等,翻译过多本技术专著。
第1章 科学计算介绍 1
1.1 Python数值计算环境 3
1.2 Python 4
1.3 IPython控制台 5
1.3.1 输入输出缓存 6
1.3.2 自动补全和对象自省(Object Introspection) 6
1.3.3 文档 7
1.3.4 与shell进行交互 7
1.3.5 IPython扩展 8
1.4 Jupyter 13
1.4.1 Jupyter QtConsole 13
1.4.2 Jupyter Notebook 14
1.4.3 Jupyter Lab 16
1.4.4 单元类型 16
1.4.5 编辑单元 17
1.4.6 Markdown单元 18
1.4.7 输出显示 19
1.4.8 nbconvert 22
1.5 Spyder集成开发环境 24
1.5.1 源代码编辑器 25
1.5.2 Spyder控制台 26
1.5.3 对象查看器 26
1.6 本章小结 26
1.7 扩展阅读 27
1.8 参考文献 27
第2章 向量、矩阵和多维数组 29
2.1 导入模块 30
2.2 NumPy Array对象 30
2.2.1 数据类型 31
2.2.2 内存中数组数据的顺序 33
2.3 创建数组 34
2.3.1 从列表和其他类数组对象创建数组 35
2.3.2 以常量填充的数组 35
2.3.3 以增量序列填充的数组 36
2.3.4 以等比数列填充的数组 37
2.3.5 Meshgrid数组 37
2.3.6 创建未初始化的数组 38
2.3.7 使用其他数组的属性创建数组 38
2.3.8 创建矩阵数组 38
2.4 索引和切片 39
2.4.1 一维数组 39
2.4.2 多维数组 41
2.4.3 视图 42
2.4.4 花式索引和布尔索引 43
2.5 调整形状和大小 45
2.6 向量化表达式 48
2.6.1 算术运算 49
2.6.2 逐个元素进行操作的函数 52
2.6.3 聚合函数 54
2.6.4 布尔数组和条件表达式 56
2.6.5 集合运算 59
2.6.6 数组运算 60
2.7 矩阵和向量运算 61
2.8 本章小结 66
2.9 扩展阅读 66
2.10 参考文献 66
第3章 符号计算 67
3.1 导入SymPy 67
3.2 符号 68
3.3 表达式 74
3.4 表达式操作 76
3.4.1 化简 76
3.4.2 展开 77
3.4.3 因式分解、合并同类项 78
3.4.4 分式分解、通分、消除公因子 79
3.4.5 替换 79
3.5 数值计算 80
3.6 微积分 81
3.6.1 导数 81
3.6.2 积分 83
3.6.3 级数展开 85
3.6.4 极限 86
3.6.5 和与积 87
3.7 方程 88
3.8 线性代数 89
3.9 本章小结 92
3.10 扩展阅读 93
3.11 参考文献 93
第4章 绘图和可视化 95
4.1 导入模块 96
4.2 入门 96
4.3 Figure对象 101
4.4 Axes实例 102
4.4.1 绘图类型 103
4.4.2 线条属性 103
4.4.3 图例 107
4.4.4 文本格式和注释 108
4.4.5 轴属性 110
4.5 Axes布局 119
4.5.1 图中图 119
4.5.2 plt.subplots 121
4.5.3 plt.subplot2grid 123
4.5.4 GridSpec 123
4.6 绘制色图 124
4.7 绘制3D图形 126
4.8 本章小结 128
4.9 扩展阅读 128
4.10 参考文献 129
第5章 方程求解 131
5.1 导入模块 131
5.2 线性方程组 132
5.2.1 方形方程组 133
5.2.2 矩形方程组 137
5.3 特征值问题 141
5.4 非线性方程 142
5.4.1 单变量方程 142
5.4.2 非线性方程组 149
5.5 本章小结 152
5.6 扩展阅读 152
5.7 参考文献 153
第6章 优化 155
6.1 导入模块 155
6.2 优化问题的分类 156
6.3 单变量优化 158
6.4 无约束的多变量优化问题 160
6.5 非线性小二乘问题 167
6.6 受约束的优化问题 168
6.7 本章小结 175
6.8 扩展阅读 175
6.9 参考文献 176
第7章 插值 177
7.1 导入模块 177
7.2 插值概述 178
7.3 多项式 179
7.4 多项式插值 181
7.5 样条插值 185
7.6 多变量插值 188
7.7 本章小结 193
7.8 扩展阅读 193
7.9 参考文献 193
第8章 积分 195
8.1 导入模块 196
8.2 数值积分方法 196
8.3 使用SciPy进行数值积分 199
8.4 多重积分 204
8.5 符号积分和任意精度积分 208
8.6 积分变换 211
8.7 本章小结 214
8.8 扩展阅读 214
8.9 参考文献 214
第9章 常微分方程 215
9.1 导入模块 215
9.2 常微分方程 216
9.3 使用符号方法求解ODE 217
9.3.1 方向场 222
9.3.2 使用拉普拉斯变换求解ODE 225
9.4 数值法求解ODE 228
9.5 使用SciPy对ODE进行
数值积分 231
9.6 本章小结 242
9.7 扩展阅读 242
9.8 参考文献 243
第10章 稀疏矩阵和图 245
10.1 导入模块 245
10.2 SciPy中的稀疏矩阵 246
10.2.1 创建稀疏矩阵的函数 250
10.2.2 稀疏线性代数函数 252
10.2.3 线性方程组 252
10.2.4 图和网络 257
10.3 本章小结 264
10.4 扩展阅读 264
10.5 参考文献 264
第11章 偏微分方程 265
11.1 导入模块 266
11.2 偏微分方程 266
11.3 有限差分法 267
11.4 有限元法 272
11.5 使用FEniCS求解PDE 275
11.6 本章小结 293
11.7 扩展阅读 294
11.8 参考文献 294
第12章 数据处理和分析 295
12.1 导入模块 296
12.2 Pandas介绍 296
12.2.1 Series对象 296
12.2.2 DataFrame对象 299
12.2.3 时间序列 307
12.3 Seaborn图形库 317
12.4 本章小结 321
12.5 扩展阅读 322
12.6 参考文献 322
第13章 统计 323
13.1 导入模块 323
13.2 概率统计回顾 324
13.3 随机数 325
13.4 随机变量及其分布 328
13.5 假设检验 335
13.6 非参数法 339
13.7 本章小结 341
13.8 扩展阅读 341
13.9 参考文献 341
第14章 统计建模 343
14.1 导入模块 344
14.2 统计建模简介 344
14.3 使用Patsy定义统计模型 345
14.4 线性回归 352
14.5 离散回归 360
14.5.1 对数几率回归 361
14.5.2 泊松回归模型 365
14.6 时间序列 368
14.7 本章小结 372
14.8 扩展阅读 372
14.9 参考文献 372
第15章 机器学习 373
15.1 导入模块 374
15.2 机器学习回顾 374
15.3 回归 375
15.4 分类 384
15.5 聚类 388
15.6 本章小结 391
15.7 扩展阅读 392
15.8 参考文献 392
第16章 贝叶斯统计 393
16.1 导入模块 394
16.2 贝叶斯统计简介 394
16.3 定义模型 396
16.3.1 后验分布采样 400
16.3.2 线性回归 403
16.4 本章小结 413
16.5 扩展阅读 413
16.6 参考文献 413
第17章 信号处理 415
17.1 导入模块 415
17.2 频谱分析 416
17.2.1 傅里叶变换 416
17.2.2 加窗 421
17.2.3 频谱图 424
17.3 信号滤波器 427
17.3.1 卷积滤波器 428
17.3.2 FIR和IIR滤波器 429
17.4 本章小结 434
17.5 扩展阅读 434
17.6 参考文献 434
第18章 数据的输入输出 435
18.1 导入模块 436
18.2 CSV格式 436
18.3 HDF5 440
18.3.1 h5py库 441
18.3.2 PyTables库 451
18.3.3 Pandas HDFStore 455
18.4 JSON 456
18.5 序列化 460
18.6 本章小结 462
18.7 扩展阅读 462
18.8 参考文献 463
第19章 代码优化 465
19.1 导入模块 467
19.2 Numba 467
19.3 Cython 473
19.4 本章小结 482
19.5 扩展阅读 483
19.6 参考文献 483
附录 安装 485