书海网短评:
1.使用Python各种扩展库完成数值计算、界面制作、三维可视化、图像处理、提高运算速度等任务 2.光盘中提供作者本人整合开发的便携式运行环境WinPython,省去读者一一收集Python各个扩展库并安装的
第1章Python科学计算环境的安装与简介1
1.1Python简介1
1.1.1Python2还是Python31
1.1.2开发环境2
1.1.3集成开发环境(IDE)5
1.2IPythonNotebook入门9
1.2.1基本操作10
1.2.2魔法(Magic)命令12
1.2.3Notebook的显示系统20
1.2.4定制IPythonNotebook24
1.3扩展库介绍27
1.3.1数值计算库27
1.3.2符号计算库28
1.3.3绘图与可视化28
1.3.4数据处理和分析29
1.3.5界面设计30
1.3.6图像处理和计算机视觉31
1.3.7提高运算速度31
第2章NumPy-快速处理数据33
2.1ndarray对象33
2.1.1创建34
2.1.2元素类型35
2.1.3自动生成数组37
2.1.4存取元素40
2.1.5多维数组43
2.1.6结构数组47
2.1.7内存结构50
2.2ufunc函数56
2.2.1四则运算58
2.2.2比较运算和布尔运算59
2.2.3自定义ufunc函数61
2.2.4广播62
2.2.5ufunc的方法66
2.3多维数组的下标存取68
2.3.1下标对象68
2.3.2整数数组作为下标70
2.3.3一个复杂的例子72
2.3.4布尔数组作为下标73
2.4庞大的函数库74
2.4.1随机数74
2.4.2求和、平均值、方差77
2.4.3大小与排序81
2.4.4统计函数86
2.4.5分段函数89
2.4.6操作多维数组92
2.4.7多项式函数96
2.4.8多项式函数类98
2.4.9各种乘积运算103
2.4.10广义ufunc函数106
2.5实用技巧110
2.5.1动态数组110
2.5.2和其他对象共享内存112
2.5.3与结构数组共享内存115
第3章SciPy-数值计算库117
3.1常数和特殊函数117
3.2拟合与优化-optimize119
3.2.1非线性方程组求解120
3.2.2最小二乘拟合121
3.2.3计算函数局域最小值125
3.2.4计算全域最小值127
3.3线性代数-linalg128
3.3.1解线性方程组129
3.3.2最小二乘解130
3.3.3特征值和特征向量132
3.3.4奇异值分解-SVD134
3.4统计-stats136
3.4.1连续概率分布136
3.4.2离散概率分布139
3.4.3核密度估计140
3.4.4二项分布、泊松分布、伽玛分布142
3.4.5学生t-分布与t检验147
3.4.6卡方分布和卡方检验151
3.5数值积分-integrate154
3.5.1球的体积154
3.5.2解常微分方程组156
3.5.3ode类157
3.5.4信号处理-signal164
3.5.5中值滤波164
3.5.6滤波器设计165
3.5.7连续时间线性系统167
3.6插值-interpolate172
3.6.1一维插值172
3.6.2多维插值177
3.7稀疏矩阵-sparse181
3.7.1稀疏矩阵的存储形式182
3.7.2最短路径183
3.8图像处理-ndimage186
3.8.1形态学图像处理187
3.8.2图像分割192
3.9空间算法库-spatial195
3.9.1计算最近旁点195
3.9.2凸包199
3.9.3沃罗诺伊图201
3.9.4德劳内三角化204
第4章matplotlib-绘制精美的图表207
4.1快速绘图207
4.1.1使用pyplot模块绘图207
4.1.2面向对象方式绘图210
4.1.3配置属性211
4.1.4绘制多子图212
4.1.5配置文件215
4.1.6在图表中显示中文217
4.2Artist对象220
4.2.1Artist的属性221
4.2.2Figure容器223
4.2.3Axes容器224
4.2.4Axis容器226
4.2.5Artist对象的关系230
4.3坐标变换和注释231
4.3.14种坐标系234
4.3.2坐标变换的流水线236
4.3.3制作阴影效果240
4.3.4添加注释241
4.4块、路径和集合243
4.4.1Path与Patch243
4.4.2集合245
4.5绘图函数简介255
4.5.1对数坐标图255
4.5.2极坐标图256
4.5.3柱状图257
4.5.4散列图258
4.5.5图像259
4.5.6等值线图261
4.5.7四边形网格264
4.5.8三角网格267
4.5.9箭头图269
4.5.10三维绘图273
4.6matplotlib技巧集274
4.6.1使用agg后台在图像上绘图274
4.6.2响应鼠标与键盘事件277
4.6.3动画285
4.6.4添加GUI面板288
第5章Pandas-方便的数据分析库291
5.1Pandas中的数据对象291
5.1.1Series对象291
5.1.2DataFrame对象293
5.1.3Index对象297
5.1.4MultiIndex对象298
5.1.5常用的函数参数300
5.1.6DataFrame的内部结构301
5.2下标存取303
5.2.1[]操作符304
5.2.2.loc[]和.iloc[]存取器304
5.2.3获取单个值306
5.2.4多级标签的存取306
5.2.5query()方法307
5.3文件的输入输出307
5.3.1CSV文件308
5.3.2HDF5文件309
5.3.3读写数据库313
5.3.4使用Pickle序列化314
5.4数值运算函数315
5.5时间序列323
5.5.1时间点、时间段、时间间隔323
5.5.2时间序列326
5.5.3与NaN相关的函数329
5.5.4改变DataFrame的形状333
5.6分组运算338
5.6.1groupby()方法339
5.6.2GroupBy对象340
5.6.3分组-运算-合并341
5.7数据处理和可视化实例347
5.7.1分析Pandas项目的提交历史347
5.7.2分析空气质量数据354
第6章SymPy-符号运算好帮手359
6.1从例子开始359
6.1.1封面上的经典公式359
6.1.2球体体积361
6.1.3数值微分362
6.2数学表达式365
6.2.1符号365
6.2.2数值367
6.2.3运算符和函数368
6.2.4通配符371
6.3符号运算373
6.3.1表达式变换和化简373
6.3.2方程376
6.3.3微分377
6.3.4微分方程378
6.3.5积分379
6.4输出符号表达式380
6.4.1lambdify381
6.4.2用autowrap()编译表达式381
6.4.3使用cse()分步输出表达式384
6.5机械运动模拟385
6.5.1推导系统的微分方程386
6.5.2将符号表达式转换为程序388
6.5.3动画演示389
第7章Traits&TraitsUI-轻松制作图形界面393
7.1Traits类型入门393
7.1.1什么是Traits属性393
7.1.2Trait属性的功能396
7.1.3Trait类型对象399
7.1.4Trait的元数据401
7.2Trait类型403
7.2.1预定义的Trait类型403
7.2.2Property属性406
7.2.3Trait属性监听408
7.2.4Event和Button属性411
7.2.5动态添加Trait属性412
7.3TraitsUI入门413
7.3.1默认界面414
7.3.2用View定义界面415
7.4用Handler控制界面和模型425
7.4.1用Handler处理事件426
7.4.2Controller和UIInfo对象429
7.4.3响应Trait属性的事件431
7.5属性编辑器432
7.5.1编辑器演示程序433
7.5.2对象编辑器436
7.5.3自定义编辑器440
7.6函数曲线绘制工具444
第8章TVTK与Mayavi-数据的三维可视化451
8.1VTK的流水线(Pipeline)452
8.1.1显示圆锥452
8.1.2用ivtk观察流水线455
8.2数据集461
8.2.1ImageData461
8.2.2RectilinearGrid466
8.2.3StructuredGrid467
8.2.4PolyData470
8.3TVTK的改进473
8.3.1TVTK的基本用法474
8.3.2Trait属性475
8.3.3序列化476
8.3.4集合迭代476
8.3.5数组操作477
8.4TVTK可视化实例478
8.4.1切面479
8.4.2等值面484
8.4.3流线487
8.4.4计算圆柱的相贯线491
8.5用mlab快速绘图496
8.5.1点和线497
8.5.2Mayavi的流水线498
8.5.3二维图像的可视化501
8.5.4网格面mesh505
8.5.5修改和创建流水线508
8.5.6标量场511
8.5.7矢量场513
8.6将TVTK和Mayavi嵌入界面515
8.6.1TVTK场景的嵌入516
8.6.2Mayavi场景的嵌入518
第9章OpenCV-图像处理和计算机视觉523
9.1图像的输入输出523
9.1.1读入并显示图像523
9.1.2图像类型524
9.1.3图像输出525
9.1.4字节序列与图像的相互转换526
9.1.5视频输出527
9.1.6视频输入529
9.2图像处理530
9.2.1二维卷积530
9.2.2形态学运算532
9.2.3填充-floodFill534
9.2.4去瑕疵-inpaint536
9.3图像变换537
9.3.1几何变换537
9.3.2重映射-remap540
9.3.3直方图543
9.3.4二维离散傅立叶变换547
9.3.5用双目视觉图像计算深度信息550
9.4图像识别553
9.4.1用霍夫变换检测直线和圆553
9.4.2图像分割558
9.4.3SURF特征匹配561
9.5形状与结构分析564
9.5.1轮廓检测565
9.5.2轮廓匹配568
9.6类型转换569
9.6.1分析cv2的源程序570
9.6.2Mat对象572
9.3.3在cv和cv2之间转换图像对象574
第10章Cython-编译Python程序575
10.1配置编译器575
10.2Cython入门577
10.2.1计算矢量集的距离矩阵577
10.2.2将Cython程序编译成扩展模块579
10.2.3C语言中的Python对象类型581
10.2.4使用cdef关键字声明变量类型582
10.2.5使用def定义函数585
10.2.6使用cdef定义C语言函数586
10.3高效处理数组587
10.3.1Cython的内存视图587
10.3.2用降采样提高绘图速度592
10.4使用Python标准对象和API596
10.4.1操作list对象596
10.4.2创建tuple对象597
10.4.3用array.array作为动态数组598
10.5扩展类型600
10.5.1扩展类型的基本结构600
10.5.2一维浮点数向量类型601
10.5.3包装ahocorasick库606
10.6Cython技巧集612
10.6.1创建ufunc函数613
10.6.2快速调用DLL中的函数617
10.6.3调用BLAS函数620
第11章实例627
11.1使用泊松混合合成图像627
11.1.1泊松混合算法627
11.1.2编写代码629
11.1.3演示程序632
11.2经典力学模拟632
11.2.1悬链线633
11.2.2最速降线638
11.2.3单摆模拟641
11.3推荐算法644
11.3.1读入数据645
11.3.2推荐性能评价标准646
11.3.3矩阵分解647
11.3.4使用最小二乘法实现矩阵分解648
11.3.5使用Cython迭代实现矩阵分解651
11.4频域信号处理654
11.4.1FFT知识复习654
11.4.2合成时域信号657
11.4.3观察信号的频谱660
11.4.4卷积运算671
11.5布尔可满足性问题求解器675
11.5.1用Cython包装PicoSAT678
11.5.2数独游戏682
11.5.3扫雷游戏686
11.6分形693
11.6.1Mandelbrot集合693
11.6.2迭代函数系统699
11.6.3L-System分形706
11.6.4分形山脉710









