图书目录

目    录

第1章 Python科学计算入门  1

1.1 Python数值计算环境  3

1.2 Python  4

1.3 IPython控制台  5

1.3.1 输入输出缓存  6

1.3.2 自动补全和对象自省  6

1.3.3 文档  7

1.3.4 与系统shell进行交互  7

1.3.5 IPython扩展  8

1.4 Jupyter  12

1.4.1 Jupyter QtConsole  13

1.4.2 Jupyter Notebook  13

1.4.3 Jupyter Lab  15

1.4.4 代码框类型  16

1.4.5 编辑代码框  16

1.4.6 Markdown代码框  17

1.4.7 富文本输出显示  19

1.4.8 nbconvert  21

1.5 Spyder集成开发环境  23

1.5.1 源代码编辑器  25

1.5.2 Spyder控制台  25

1.5.3 对象查看器  26

1.6 本章小结  26

1.7 扩展阅读  26

第2章 向量、矩阵和多维数组  27

2.1 导入模块  28

2.2 NumPy Array对象  28

2.2.1 数据类型  29

2.2.2 内存中数组数据的顺序  31

2.3 创建数组  32

2.3.1 从列表和其他类数组对象创建数组  33

2.3.2 以常量填充的数组  33

2.3.3 以递增序列填充的数组  34

2.3.4 以对数序列填充的数组  34

2.3.5 meshgrid数组  35

2.3.6 创建未初始化的数组  35

2.3.7 使用其他数组的属性创建数组  36

2.3.8 创建矩阵数组  36

2.4 索引和切片  37

2.4.1 一维数组  37

2.4.2 多维数组  38

2.4.3 视图  40

2.4.4 花式索引和布尔值索引  40

2.5 调整数组的形状和大小  42

2.6 向量化表达式  46

2.6.1 算术运算  47

2.6.2 逐元素进行操作的函数  49

2.6.3 聚合函数  51

2.6.4 布尔数组和条件表达式  53

2.6.5 集合运算  55

2.6.6 数组运算  56

2.7 矩阵和向量运算  57

2.8 本章小结  62

2.9 扩展阅读  62

第3章 符号计算  63

3.1 导入SymPy  64

3.2 符号  64

3.3 表达式  71

3.4 表达式操作  72

3.4.1 简化  72

3.4.2 展开  73

3.4.3 因式分解、合并同类项  74

3.4.4 分式分解、通分、消去公因子  75

3.4.5 替换  75

3.5 数值计算  76

3.6 微积分  77

3.6.1 导数  77

3.6.2 积分  79

3.6.3 级数展开  80

3.6.4 极限  82

3.6.5 和与积  82

3.7 方程  83

3.8 线性代数  85

3.9 本章小结  88

3.10 扩展阅读  88

第4章 绘图和可视化  89

4.1 导入模块  90

4.2 入门  91

4.3 Figure对象  95

4.4 Axes实例  96

4.4.1 绘图类型  97

4.4.2 线条属性  98

4.4.3 图例  101

4.4.4 文本格式和注释  102

4.4.5 轴属性  104

4.5 Axes高级布局  113

4.5.1 图中图  113

4.5.2 子图  114

4.5.3 subplot2grid  116

4.5.4 GridSpec  116

4.6 色图  117

4.7 3D图形  120

4.8 本章小结  122

4.9 扩展阅读  122

第5章 方程求解  123

5.1 导入模块  124

5.2 线性方程组  124

5.2.1 方形方程组  125

5.2.2 矩形方程组  129

5.3 特征值问题  132

5.4 非线性方程  134

5.4.1 单变量方程  134

5.4.2 非线性方程组  140

5.5 本章小结  143

5.6 扩展阅读  144

第6章 优化  145

6.1 导入模块  146

6.2 优化问题的分类  146

6.3 单变量优化  148

6.4 无约束的多变量优化问题  151

6.5 非线性最小二乘问题  157

6.6 受约束的优化问题  159

6.7 本章小结  165

6.8 扩展阅读  165

第7章 插值  166

7.1 导入模块  166

7.2 插值概述  167

7.3 多项式  168

7.4 多项式插值  170

7.5 样条插值  174

7.6 多变量插值  176

7.7 本章小结  181

7.8 扩展阅读  182

第8章 积分  183

8.1 导入模块  184

8.2 数值积分方法  184

8.3 使用SciPy进行数值积分  187

8.4 多重积分  192

8.5 符号积分和任意精度积分  196

8.6 积分变换  198

8.7 本章小结  201

8.8 扩展阅读  201

第9章 常微分方程  203

9.1 导入模块  203

9.2 常微分方程  204

9.3 使用符号方法求解ODE  205

9.3.1 方向场  210

9.3.2 使用拉普拉斯变换求解ODE  213

9.4 数值法求解ODE  216

9.5 使用SciPy对ODE进行数值积分  219

9.6 本章小结  229

9.7 扩展阅读  230

第10章 稀疏矩阵和图  231

10.1 导入模块  232

10.2 SciPy中的稀疏矩阵  232

10.2.1 创建稀疏矩阵的函数  236

10.2.2 稀疏线性代数函数  238

10.2.3 线性方程组  238

10.2.4 图和网络  243

10.3 本章小结  249

10.4 扩展阅读  249

第11章 偏微分方程  250

11.1 导入模块  251

11.2 偏微分方程  251

11.3 有限差分法  252

11.4 有限元法  257

11.5 使用FEniCS求解PDE  260

11.6 本章小结  277

11.7 扩展阅读  278

第12章 数据处理和分析  279

12.1 导入模块  280

12.2 Pandas介绍  280

12.2.1 Series对象  280

12.2.2 DataFrame对象  283

12.2.3 时间序列  291

12.3 Seaborn图形库  300

12.4 本章小结  304

12.5 扩展阅读  304

第13章 统计  306

13.1 导入模块  306

13.2 概率统计回顾  307

13.3 随机数  308

13.4 随机变量及其分布  312

13.5 假设检验  318

13.6 非参数法  322

13.7 本章小结  324

13.8 扩展阅读  324

第14章 统计建模  325

14.1 导入模块  326

14.2 统计建模简介  326

14.3 使用Patsy定义统计模型  327

14.4 线性回归  334

14.5 离散回归  342

14.5.1 逻辑回归  342

14.5.2 泊松回归模型  346

14.6 时间序列  349

14.7 本章小结  353

14.8 扩展阅读  353

第15章 机器学习  354

15.1 导入模块  355

15.2 机器学习回顾  355

15.3 回归  357

15.4 分类  365

15.5 聚类  369

15.6 本章小结  372

15.7 扩展阅读  373

第16章 贝叶斯统计  374

16.1 导入模块  375

16.2 贝叶斯统计简介  375

16.3 定义模型  377

16.3.1 后验分布采样  382

16.3.2 线性回归  384

16.4 本章小结  394

16.5 扩展阅读  394

第17章 信号处理  395

17.1 导入模块  395

17.2 频谱分析  396

17.2.1 傅里叶变换  396

17.2.2 窗口函数  400

17.2.3 频谱图  403

17.3 信号滤波器  407

17.3.1 卷积滤波器  407

17.3.2 FIR和IIR滤波器  409

17.4 本章小结  413

17.5 扩展阅读  413

第18章 数据的输入与输出  414

18.1 导入模块  415

18.2 CSV格式  415

18.3 HDF5  419

18.3.1 h5py库  420

18.3.2 PyTables库  430

18.3.3 Pandas HDFStore  433

18.4 Parquet  435

18.5 JSON  438

18.6 序列化  441

18.7 本章小结  443

18.8 扩展阅读  444

第19章 代码优化  445

19.1 导入模块  447

19.2 Numba  447

19.3 Cython  453

19.4 本章小结  462

19.5 扩展阅读  463

附录A 安装  464

A.1 Miniconda和conda  465

A.2 为Jupyter Notebook注册内核  470

A.3 安装一个完整的环境  470

A.4 本附录小结  473

A.5 扩展阅读  473