zoukankan      html  css  js  c++  java
  • 学习Numpy

    1.什么是numpy

    NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。

    包括:

    1、一个强大的N维数组对象Array;

    2、比较成熟的(广播)函数库;

    3、用于整合C/C++和Fortran代码的工具包;

    4、实用的线性代数、傅里叶变换和随机数生成函数。

    numpy和稀疏矩阵运算包scipy配合使用更加方便。

    2.搭建numpy环境

    在安装python的环境下,用pip管理工具安装(没有安装pip应先安装pip):

    安装pip:sudo apt-get install pip

    安装numpy:sudo pip install numpy

    安装scipy:sudo pip install scipy

    安装matplotlib:sudo pip install matplotlib

    3.如何学习

    进入python安装包目录

    查看安装的numpy包下的__ini__.py文件

    """
    NumPy
    =====
    
    Provides
      1. An array object of arbitrary homogeneous items
      2. Fast mathematical operations over arrays
      3. Linear Algebra, Fourier Transforms, Random Number Generation
    
    How to use the documentation
    ----------------------------
    Documentation is available in two forms: docstrings provided
    with the code, and a loose standing reference guide, available from
    `the NumPy homepage <http://www.scipy.org>`_.
    
    We recommend exploring the docstrings using
    `IPython <http://ipython.scipy.org>`_, an advanced Python shell with
    TAB-completion and introspection capabilities.  See below for further
    instructions.
    
    The docstring examples assume that `numpy` has been imported as `np`::
    
      >>> import numpy as np
    
    Code snippets are indicated by three greater-than signs::
    
      >>> x = 42
      >>> x = x + 1
    
    Use the built-in ``help`` function to view a function's docstring::
    
      >>> help(np.sort)
      ... # doctest: +SKIP
    
    For some objects, ``np.info(obj)`` may provide additional help.  This is
    particularly true if you see the line "Help on ufunc object:" at the top
    of the help() page.  Ufuncs are implemented in C, not Python, for speed.
    The native Python help() does not know how to view their help, but our
    np.info() function does.
    
    To search for documents containing a keyword, do::
    
      >>> np.lookfor('keyword')
      ... # doctest: +SKIP
    
    General-purpose documents like a glossary and help on the basic concepts
    of numpy are available under the ``doc`` sub-module::
    
      >>> from numpy import doc
      >>> help(doc)
      ... # doctest: +SKIP
    
    Available subpackages
    ---------------------
    doc
        Topical documentation on broadcasting, indexing, etc.
    lib
        Basic functions used by several sub-packages.
    random
        Core Random Tools
    linalg
        Core Linear Algebra Tools
    fft
        Core FFT routines
    polynomial
        Polynomial tools
    testing
        NumPy testing tools
    f2py
        Fortran to Python Interface Generator.
    distutils
        Enhancements to distutils with support for
        Fortran compilers support and more.
    
    Utilities
    ---------
    test
        Run numpy unittests
    show_config
        Show numpy build configuration
    dual
        Overwrite certain functions with high-performance Scipy tools
    matlib
        Make everything matrices.
    __version__
        NumPy version string
    
    Viewing documentation using IPython
    -----------------------------------
    Start IPython with the NumPy profile (``ipython -p numpy``), which will
    import `numpy` under the alias `np`.  Then, use the ``cpaste`` command to
    paste examples into the shell.  To see which functions are available in
    `numpy`, type ``np.<TAB>`` (where ``<TAB>`` refers to the TAB key), or use
    ``np.*cos*?<ENTER>`` (where ``<ENTER>`` refers to the ENTER key) to narrow
    down the list.  To view the docstring for a function, use
    ``np.cos?<ENTER>`` (to view the docstring) and ``np.cos??<ENTER>`` (to view
    the source code).
    
    Copies vs. in-place operation
    -----------------------------
    Most of the functions in `numpy` return a copy of the array argument
    (e.g., `np.sort`).  In-place versions of these functions are often
    available as array methods, i.e. ``x = np.array([1,2,3]); x.sort()``.
    Exceptions to this rule are documented.
    
    """
    from __future__ import division, absolute_import, print_function
    
    import sys
    import warnings
    
    from ._globals import ModuleDeprecationWarning, VisibleDeprecationWarning
    from ._globals import _NoValue
    
    # We first need to detect if we're being called as part of the numpy setup
    # procedure itself in a reliable manner.
    try:
        __NUMPY_SETUP__
    except NameError:
        __NUMPY_SETUP__ = False
    
    if __NUMPY_SETUP__:
        sys.stderr.write('Running from numpy source directory.
    ')
    else:
        try:
            from numpy.__config__ import show as show_config
        except ImportError:
            msg = """Error importing numpy: you should not try to import numpy from
            its source directory; please exit the numpy source tree, and relaunch
            your python interpreter from there."""
            raise ImportError(msg)
    
        from .version import git_revision as __git_revision__
        from .version import version as __version__
    
        from ._import_tools import PackageLoader
    
        def pkgload(*packages, **options):
            loader = PackageLoader(infunc=True)
            return loader(*packages, **options)
    
        from . import add_newdocs
        __all__ = ['add_newdocs',
                   'ModuleDeprecationWarning',
                   'VisibleDeprecationWarning']
    
        pkgload.__doc__ = PackageLoader.__call__.__doc__
    
        # We don't actually use this ourselves anymore, but I'm not 100% sure that
        # no-one else in the world is using it (though I hope not)
        from .testing import Tester
        test = testing.nosetester._numpy_tester().test
        bench = testing.nosetester._numpy_tester().bench
    
        # Allow distributors to run custom init code
        from . import _distributor_init
    
        from . import core
        from .core import *
        from . import compat
        from . import lib
        from .lib import *
        from . import linalg
        from . import fft
        from . import polynomial
        from . import random
        from . import ctypeslib
        from . import ma
        from . import matrixlib as _mat
        from .matrixlib import *
        from .compat import long
    
        # Make these accessible from numpy name-space
        # but not imported in from numpy import *
        if sys.version_info[0] >= 3:
            from builtins import bool, int, float, complex, object, str
            unicode = str
        else:
            from __builtin__ import bool, int, float, complex, object, unicode, str
    
        from .core import round, abs, max, min
    
        __all__.extend(['__version__', 'pkgload', 'PackageLoader',
                   'show_config'])
        __all__.extend(core.__all__)
        __all__.extend(_mat.__all__)
        __all__.extend(lib.__all__)
        __all__.extend(['linalg', 'fft', 'random', 'ctypeslib', 'ma'])
    
    
        # Filter annoying Cython warnings that serve no good purpose.
        warnings.filterwarnings("ignore", message="numpy.dtype size changed")
        warnings.filterwarnings("ignore", message="numpy.ufunc size changed")
        warnings.filterwarnings("ignore", message="numpy.ndarray size changed")
    
        # oldnumeric and numarray were removed in 1.9. In case some packages import
        # but do not use them, we define them here for backward compatibility.
        oldnumeric = 'removed'
        numarray = 'removed'
    

    此处告诉我们numpy提供什么功能支持,如何使用文档,如何使用numpy内置的帮助功能,可用的子包等等信息。

    现在就开始学习!

    numpy开发文档:https://docs.scipy.org/doc/numpy/reference/

  • 相关阅读:
    「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
    「日常训练」Ice Cave(Codeforces Round 301 Div.2 C)
    「日常训练」School Marks(Codeforces Round 301 Div.2 B)
    「知识学习」二分图的最大匹配、完美匹配和匈牙利算法(HDU-2063)
    「日常训练」 Counting Cliques(HDU-5952)
    「日常训练」Maximum Multiple(HDU-6298)
    「日常训练」 Yukari's Birthday(ZOJ-3665)
    「Python」Numpy equivalent of MATLAB's cell array
    「Python」Convert map object to numpy array in python 3
    「Python」matplotlib备忘录
  • 原文地址:https://www.cnblogs.com/jasonhaven/p/7603102.html
Copyright © 2011-2022 走看看