zoukankan      html  css  js  c++  java
  • Numpy学习-(1)

    记录我学习Numpy过程

    1. 介绍


    (1)NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:一个强大的N维数组对象 ndarray广播功能函数整合 C/C++/Fortran 代码的工具线性代数、傅里叶变换、随机数生成等功能

     2. Numpy应用


    (1)NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。
    [NumPy 官网](http://www.numpy.org/)
    [Matplotlib 官网](https://matplotlib.org/)
    [SciPy 官网](https://www.scipy.org/)

     3. Numpy 安装


    (1) 在电脑安装python之后,设置好环境变量。这里由两个环境变量,一个是python解释器的文件夹;一个是script的文件夹(这个文件夹下面由一个pip程序)
    (2)用<kbd>win</kbd>+<kbd>r</kbd>组合键进入cmd,输入:


    pip install numpy

    等待片刻,最后安装成功。
    打开python IDE输入以下代码验证是否安装成功。

    >>> from numpy import *
    >>> eye(4)
    array([[1., 0., 0., 0.],
    [0., 1., 0., 0.],
    [0., 0., 1., 0.],
    [0., 0., 0., 1.]])

     4. Ndarray 对象


    (1)NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。
    例子1:

    import numpy as np 
    a = np.array([3,2,1]) 
    print (a)


    结果:

    [3,2,1]


    例子2:

    import numpy as np 
    a = np.array([[1, 2], [3, 4]]) 
    print (a)


    结果:

    [[1, 2]
    [3, 4]]

    例子3:

    import numpy as np 
    a = np.array([1, 2, 3], dtype = complex) 
    print (a)


    结果:

    [ 1.+0.j, 2.+0.j, 3.+0.j]

    5. 数组属性

    **属性说明**

    1. ndarray.ndim秩,即轴的数量或维度的数量
    2. ndarray.shape数组的维度,对于矩阵,n 行 m 列
    3. ndarray.size数组元素的总个数,相当于 .shape 中 n*m 的值
    4. ndarray.dtypendarray 对象的元素类型
    5. ndarray.itemsizendarray 对象中每个元素的大小,以字节为单位
    6. ndarray.flagsndarray 对象的内存信息
    7. ndarray.realndarray元素的实部
    8. ndarray.imagndarray 元素的虚部
    9. ndarray.data包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

    6. 创建数组


    (1)下面创建一个空的矩阵://三行两列的空数组

    import numpy as np 
    x = np.empty([3,2], dtype = int) 


    (2)下面创建一个指定大小的全0矩阵:


    i

    mport numpy as np
    
    # 默认为浮点数
    x = np.zeros(5) 
    print(x)
    
    # 设置类型为整数
    y = np.zeros((5,), dtype = np.int) 
    print(y)


    结果:
    [0. 0. 0. 0. 0.]
    [0 0 0 0 0]

    (3)下面创建一个指定大小的全1矩阵:

    import numpy as np
    
    # 默认为浮点数
    x = np.ones(5) 
    print(x)
    
    # 自定义类型
    x = np.ones([2,2], dtype = int)
    print(x)


    结果:
    [1. 1. 1. 1. 1.]
    [[1 1]
    [1 1]]

    (4)下面创建一个指定范围的数组:

    import numpy as np
    x = np.arange(10,22,2) 
    print (x)
    a = np.linspace(1,10,10)
    print(a)
    a = np.linspace(10, 20, 5, endpoint = True) 
    print(a)

    结果:

    [10 12 14 16 18 20]
    [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
    [10. 12. 14. 16. 18. 20.]

  • 相关阅读:
    mysql的存储过程
    一份php高级工程师的面试题,我每天看一点点
    php的常用函数(持续更新)
    php 中文字符串截取
    php递归遍历文件目录
    ajax timeout 断网处理
    angular 刷新问题
    angular state中templateUrl 路径的模板
    angular请求传递不了数据
    截取字符串 substring substr slice
  • 原文地址:https://www.cnblogs.com/hhwblogs/p/12703081.html
Copyright © 2011-2022 走看看