本文最后更新于 417 天前,其中的信息可能已经过时,如有错误请发送邮件到 wuxianglongblog@163.com
Ipython
提供了一个很好的解释器界面。
Matplotlib
提供了一个类似 Matlab
的画图工具。
Numpy
提供了 ndarray
对象,可以进行快速的向量化计算。
Scipy
是 Python
中进行科学计算的一个第三方库,以 Numpy
为基础。
Pandas
是处理时间序列数据的第三方库,提供一个类似 R
语言的环境。
StatsModels
是一个统计库,着重于统计模型。
Scikits
以 Scipy
为基础,提供如 scikits-learn
机器学习和scikits-image
图像处理等高级用法。
Scipy
由不同科学计算领域的子模块组成:
子模块 |
描述 |
cluster |
聚类算法 |
constants |
物理数学常数 |
fftpack |
快速傅里叶变换 |
integrate |
积分和常微分方程求解 |
interpolate |
插值 |
io |
输入输出 |
linalg |
线性代数 |
odr |
正交距离回归 |
optimize |
优化和求根 |
signal |
信号处理 |
sparse |
稀疏矩阵 |
spatial |
空间数据结构和算法 |
special |
特殊方程 |
stats |
统计分布和函数 |
weave |
C/C++ 积分 |
在使用 Scipy
之前,为了方便,假定这些基础的模块已经被导入:
| import numpy as np |
| import scipy as sp |
| import matplotlib as mpl |
| import matplotlib.pyplot as plt |
使用 Scipy 中的子模块时,需要分别导入:
| from scipy import linalg, optimize |
对于一些常用的函数,这些在子模块中的函数可以在 scipy
命名空间中调用。另一方面,由于 Scipy
以 Numpy
为基础,因此很多基础的 Numpy
函数可以在 scipy
命名空间中直接调用。
我们可以使用 numpy
中的 info
函数来查看函数的文档:
| fmin(func, x0, args=(), xtol=0.0001, ftol=0.0001, maxiter=None, maxfun=None, |
| full_output=0, disp=1, retall=0, callback=None) |
| |
| Minimize a function using the downhill simplex algorithm. |
| |
| This algorithm only uses function values, not derivatives or second |
| derivatives. |
| |
| Parameters |
| |
| func : callable func(x,*args) |
| The objective function to be minimized. |
| x0 : ndarray |
| Initial guess. |
| args : tuple, optional |
| Extra arguments passed to func, i.e. `f(x,*args) `. |
| callback : callable, optional |
| Called after each iteration, as callback(xk), where xk is the |
| current parameter vector. |
| xtol : float, optional |
| Relative error in xopt acceptable for convergence. |
| ftol : number, optional |
| Relative error in func(xopt) acceptable for convergence. |
| maxiter : int, optional |
| Maximum number of iterations to perform. |
| maxfun : number, optional |
| Maximum number of function evaluations to make. |
| full_output : bool, optional |
| Set to True if fopt and warnflag outputs are desired. |
| disp : bool, optional |
| Set to True to print convergence messages. |
| retall : bool, optional |
| Set to True to return list of solutions at each iteration. |
| |
| Returns |
| |
| xopt : ndarray |
| Parameter that minimizes function. |
| fopt : float |
| Value of function at minimum: `fopt = func(xopt) `. |
| iter : int |
| Number of iterations performed. |
| funcalls : int |
| Number of function calls made. |
| warnflag : int |
| 1 : Maximum number of function evaluations made. |
| 2 : Maximum number of iterations reached. |
| allvecs : list |
| Solution at each iteration. |
| |
| See also |
| |
| minimize: Interface to minimization algorithms for multivariate |
| functions. See the 'Nelder-Mead' method in particular. |
| |
| Notes |
| |
| Uses a Nelder-Mead simplex algorithm to find the minimum of function of |
| one or more variables. |
| |
| This algorithm has a long history of successful use in applications. |
| But it will usually be slower than an algorithm that uses first or |
| second derivative information. In practice it can have poor |
| performance in high-dimensional problems and is not robust to |
| minimizing complicated functions. Additionally, there currently is no |
| complete theory describing when the algorithm will successfully |
| converge to the minimum, or how fast it will if it does. |
| |
| References |
| |
| .. [1] Nelder, J.A. and Mead, R. (1965), "A simplex method for function |
| minimization", The Computer Journal, 7, pp. 308-313 |
| |
| .. [2] Wright, M.H. (1996), "Direct Search Methods: Once Scorned, Now |
| Respectable", in Numerical Analysis 1995, Proceedings of the |
| 1995 Dundee Biennial Conference in Numerical Analysis, D.F. |
| Griffiths and G.A. Watson (Eds.), Addison Wesley Longman, |
| Harlow, UK, pp. 191-208. |
可以用 lookfor
来查询特定关键词相关的函数:
| np.lookfor("resize array") |
| Search results for 'resize array' |
| |
| numpy.chararray.resize |
| Change shape and size of array in-place. |
| numpy.ma.resize |
| Return a new masked array with the specified size and shape. |
| numpy.oldnumeric.ma.resize |
| The original array's total size can be any size. |
| numpy.resize |
| Return a new array with the specified shape. |
| numpy.chararray |
| chararray(shape, itemsize=1, unicode=False, buffer=None, offset=0, |
| numpy.memmap |
| Create a memory-map to an array stored in a *binary* file on disk. |
| numpy.ma.mvoid.resize |
| .. warning:: |
还可以指定查找的模块:
| np.lookfor("remove path", module="os") |
| Search results for 'remove path' |
| |
| os.removedirs |
| removedirs(path) |
| os.walk |
| Directory tree generator. |