Python对科学计算的支持,是通过不同科学计算功能的程序包和API建立的。对于科学计算的每个方面,我们都有大量的选择以及最佳的选择。 Python科学计算各个方面的可选包如下所示。
- 画图:目前,最流行的二维图制作程序库是matplotlib。还有许多画图包,如Visvis、 Plotly、HippoDraw、 Chaco、 MayaVI、 Biggles、 Pychart、 Bokeh。还有一些画图程序包是在matplotlib的基础上改进功能,如Seaborn和Prettyplotlib。
- 最优化: SciPy程序包里有最优化模块。 OpenOpt和CVXOpt同样具有最优化功能。
- 高级数据分析: Python可以通过RPy或R/S-Plus接口与R语言配合使用,实现高级的数据分析功能。 Python自己的高级数据分析工具就是大名鼎鼎的pandas了。
- 数据库: PyTables是一种用于管理分层数据库的工具。这个软件包是以HDF5数据库为基础建立的,用于处理较大的数据集。
- 交互式命令行: IPython是Python的交互式编程工具。
- 符号计算: Python具有符号计算功能的程序包有SymPy和PyDSTool。
- 专用扩展包: SciKits程序库为SciPy、 NumPy和Python提供了专业化的扩展。 SciKits的一些软件包如下。
scikit-aero: Python航空工程计算程序包。
scikit-bio:提供生物信息学领域的数据结构、算法和教育资源程序包。
scikit-commpy: Python数字通信算法程序包。
scikit-image: SciPy图像处理程序包。
scikit-learn: Python机器学习和数据挖掘程序包。
scikit-monaco: Python蒙特卡罗算法程序包。
scikit-spectra:建立在Python pandas上的光谱学程序包。
scikit-tensor: Python多线性代数和张量分解(tensor factorizations)程序包。
scikit-tracker:细胞生物学的目标检测和跟踪程序包。
scikit-xray: X射线科学的数据分析工具。
bvp_solver: Python求解两点边界问题的程序包。
datasmooth: SciKits提供的数据平滑程序包。
optimization: Python数值优化程序包。
statsmodels: SciPy统计学计算与建模程序包。 - 第三方/非SciKits的软件包/应用/工具:还有许多软件包/工具应用于不同的科学领域,例如天文学、天体物理学、生物信息学、地球科学等。一些科学领域专用的Python程序包和工具如下。
Astropy:社区主导的用于支持天文学和天体物理学计算的Python程序包。
Astroquery:这个程序包是一组用于访问在线天文数据的工具。
BioPython:这个程序包是用Python进行生物计算的工具包。
HTSeq:这是用Python进行高通量测序数据(high-throughput sequencing data)分析的程序包。
Pygr:这是Python中基因测序和对比分析的工具包。
TAMO:这是Python中利用DNA序列基元进行转录调控分析的应用。
EarthPy:这是地球科学领域的IPython Notebook案例集合。
Pyearthquake:进行地震与MODIS(中分辨率成像光谱仪)数据分析的Python程序包。
MSNoise:这是一种使用环境地震噪声监测地震波速度变化的Python程序包。
AtmosphericChemistry:对大气化学运作方式进行探测、构造与转换的工具。
Chemlab:这是一个能够进行化学相关计算的程序库。