Python 科学计算基础 (整理)

2020-01-09 11:48:28 浏览数 (1)

Python是一种面向对象的、动态的程序设计语言,具有非常简洁而清晰的语法,既可以用于快速开发程序脚本,也可以用于开发大规模的软件,特别适合于完成各种高层任务。   随着NumPy、SciPy、matplotlib、ETS等众多程序库的开发,Python越来越适合于做科学计算。与科学计算领域最流行的商业软件MATLAB相比,Python是一门真正的通用程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多程序库的支持,适用于Windows和Linux等多种平台,完全免费并且开放源码。虽然MATLAB中的某些高级功能目前还无法替代,但是对于基础性、前瞻性的科研工作和应用系统的开发,完全可以用Python来完成。 *Numba项目能够将处理NumPy数组的Python函数JIT编译为机器码执行,从而上百倍的提高程序的运算速度。 *基于浏览器的Python开发环境wakari(http://www.continuum.io/wakari) 能省去配置Python开发环境的麻烦。hnxyzzl Zzlx.xxxxxxx *Pandas经过几个版本周期的迭代,目前已经成为数据整理、处理、分析的不二选择。 *OpenCV官方的扩展库cv2已经正式出台,它的众多图像处理函数能直接对NumPy数组进行处理,便捷图像处理、计算机视觉程序变得更加方便、简洁。 *matplotlib已经拥有稳定开发社区,最新发布的1.3版本添加了WebAgg后台绘图库,能在浏览器中显示图表并与之进行交互。相信不久这一功能就会集成到IPython Notebook中去。 *SymPy 0.7.3的发布,它已经逐渐从玩具项目发展成熟。一位高中生使用在线运行SymPy代码的网站:http://www.sympygamma.com * Cython已经内置支持NumPy数组,它已经逐渐成为编写高效运算扩展库的首选工具。例如Pandas中绝大部分的提速代码都是采用Cython编写的。 * NumPy、SciPy等也经历了几个版本的更新,许多计算变得更快捷,功能也更加丰富。 * WinPython、Anaconda等新兴的Python集成环境无须安装,使得共享Python程序更方便快捷。 * 随着Python3逐渐成为主流,IPython, NumPy, SciPy, matplotlib, Pandas, Cython等主要的科学计算扩展库也已经开始支持Python3了。

Python用于科学计算的一些常用工具和库


  • IPython-增强的交互环境:支持变量自动补全,自动缩进,支持 bash shell命令,内置了许多很有用的功能和函数
  • Spyder、Wing IDE或Eclipse/Pydev:集成开发环境
  • NumPy-数学计算基础库:N维数组、线性代数计算、傅立叶变换、随机数等。
  • SciPy-数值计算库:线性代数、拟合与优化、插值、数值积分、稀疏矩阵、图像处理、统计等。
  • SymPy-符号运算
  • Pandas-数据分析库:数据导入、整理、处理、分析等。
  • matplotlib-会图库:绘制二维图形和图表
  • Chaco-交互式图表
  • OpenCV-计算机视觉库
  • TVTK-数据的三维可视化
  • Cython-Python转C的编译器:编写高效运算扩展库的首选工具
  • BioPython-生物科学

Python科学计算发行版


  • Python(x,y) 当前最新版本:2.7.6.1 (05/30/2014),支持Windows和Python2.7.6。 其库索引列出了所支持的170 Python27库。
  • WinPython 当前最新版本:2.7.6.4和3.3.5.0 (04/2014),支持Windows和Python2.7.6、3.3.5。 其库索引列出了所支持的60 Python27库。 其库索引列出了所支持的60 Python33库。
  • EnthoughtCanopy(Enthought Python Distribution) 当前最新版本:1.4.1 (06/11/2014),支持Linux, Windows,Mac平台和Python2.7.6。 其库索引列出了所支持的150 测试过的Python库。
  • Anaconda 当前最新版本:2.0.1 (06/12/2014),支持Linux, Windows, Mac平台和Python2.6、2.7、3.3、3.4。 其库索引列出了所支持的195 流行Python库。

相关学习网址:

python基础教程

http://www.runoob.com/python/python-tutorial.html

iptyhon学习

http://ipython.org/documentation.html

用Python做科学计算  --包括numpy scipy  matplot UI  3D视图 以及 图表等

http://old.sebug.net/paper/books/scipydoc/index.html

http://www.scipy-lectures.org/index.html

numpy http://old.sebug.net/paper/books/scipydoc/numpy_intro.html

  • 官方文档
  • NumPy Tutorial
  • NumPy for MATLAB© Users
  • NumPy functions by category
  • NumPy Mailing List

matplot 入门

官方: http://matplotlib.org/contents.html

博客   http://www.labri.fr/perso/nrougier/teaching/matplotlib/

博客   http://www.2cto.com/kf/201407/317115.html

使用matplotlib绘制动画的方法

http://www.jb51.net/article/66441.htm

python科学计算第二版代码

https://github.com/ruoyu0088/scpy2

其他: Python科学计算环境推荐——Anaconda Anaconda提供了Spyder,IPython和一个命令行。下面来看一下conda。 输入 conda list 来看一下所有安装时自带的Python扩展。粗略看了一下,其中包括了常用的 Numpy , Scipy , matplotlib 和 networkx 等,以及 beautiful-soup , requests , flask , tornado 等网络相关的扩展。 conda的repo中的扩展不算太新,如果想要更新的,可能要用PyPI或者自己下载源码。而conda和pip关联的很好。使用pip安装的东西可以使用conda来管理,这点要比Canopy好。下图是我用pip安装的 nltk , jieba 和 gensim 科学计算环境的另一个要求就是能够多个Python版本并存,尤其是2.x和3.x的并存。这个通过 virtualenv 可以做到。Anaconda也正是通过其实现的。

0 人点赞