Python 科学计算基础 (整理)

2023-01-31 03:01:16 基础 科学 整理
python是一种面向对象的、动态的程序设计语言,具有非常简洁而清晰的语法,既可以用于快速开发程序脚本,也可以用于开发大规模的软件,特别适合于完成各种高层任务。
  随着NumPy、SciPy、matplotlib、ETS等众多程序库的开发,Python越来越适合于做科学计算。与科学计算领域最流行的商业软件MATLAB相比,Python是一门真正的通用程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多程序库的支持,适用于windowslinux等多种平台,完全免费并且开放源码。虽然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

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也正是通过其实现的。

相关文章