返回介绍

01. Python 工具

02. Python 基础

03. Numpy

04. Scipy

05. Python 进阶

06. Matplotlib

07. 使用其他语言进行扩展

08. 面向对象编程

09. Theano 基础

10. 有趣的第三方模块

11. 有用的工具

12. Pandas

SCIentific PYthon 简介

发布于 2022-09-03 20:46:13 字数 9056 浏览 0 评论 0 收藏 0

Ipython 提供了一个很好的解释器界面。

Matplotlib 提供了一个类似 Matlab 的画图工具。

Numpy 提供了 ndarray 对象,可以进行快速的向量化计算。

ScipyPython 中进行科学计算的一个第三方库,以 Numpy 为基础。

Pandas 是处理时间序列数据的第三方库,提供一个类似 R 语言的环境。

StatsModels 是一个统计库,着重于统计模型。

ScikitsScipy 为基础,提供如 scikits-learn 机器学习scikits-image 图像处理等高级用法。

Scipy

Scipy 由不同科学计算领域的子模块组成:

子模块描述
cluster聚类算法
constants物理数学常数
fftpack快速傅里叶变换
integrate积分和常微分方程求解
interpolate插值
io输入输出
linalg线性代数
odr正交距离回归
optimize优化和求根
signal信号处理
sparse稀疏矩阵
spatial空间数据结构和算法
special特殊方程
stats统计分布和函数
weaveC/C++ 积分

在使用 Scipy 之前,为了方便,假定这些基础的模块已经被导入:

In [1]:

import numpy as np
import scipy as sp
import matplotlib as mpl
import matplotlib.pyplot as plt

使用 Scipy 中的子模块时,需要分别导入:

In [2]:

from scipy import linalg, optimize

对于一些常用的函数,这些在子模块中的函数可以在 scipy 命名空间中调用。另一方面,由于 ScipyNumpy 为基础,因此很多基础的 Numpy 函数可以在scipy 命名空间中直接调用。

我们可以使用 numpy 中的 info 函数来查看函数的文档:

In [3]:

np.info(optimize.fmin)
 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 来查询特定关键词相关的函数:

In [4]:

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::

还可以指定查找的模块:

In [5]:

np.lookfor("remove path", module="os")
Search results for 'remove path'
--------------------------------
os.removedirs
    removedirs(path)
os.walk
    Directory tree generator.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文