python数值运算(一)NumPy

本文最后更新于:1 年前

NumPy

NumPy简介

维基百科是这样说的

NumPy是Python语言的一个扩展程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy的前身Numeric最早是由Jim Hugunin与其它协作者共同开发,2005年,Travis Oliphant在Numeric中结合了另一个同性质的程序库Numarray的特色,并加入了其它扩展而开发了NumPy。NumPy为开放源代码并且由许多协作者共同维护开发。

NumPy提供了与MATLAB相似的功能与操作方式,因为两者皆为解释型语言,并且都可以让用户在针对数组或矩阵运算时提供较标量运算更快的性能。两者相较之下,MATLAB提供了大量的扩展工具箱(例如Simulink);而NumPy则是根基于Python这个更现代、完整并且开放源代码的编程语言之上。此外NumPy也可以结合其它的Python扩展库。例如SciPy,这个库提供了更多与MATLAB相似的功能;以及Matplotlib,这是一个与MATLAB内置绘图功能类似的库。而从本质上来说,NumPy与MATLAB同样是利用BLAS与LAPACK来提供高效率的线性代数运算。

~~本菜鸡上学期摸鱼没听过python课,借着暑假学习下numpy和pandas来准备九月的数模国赛

NumPy 数组对象 ndarray

  1. 属性
属性 说明
ndim 返回int,数组维数
size 返回int,数组元素总数,即每一维长度的乘积
dtype 返回data-type,数组成员类型
shape 返回 tuple,表示数组的尺寸,对于 n 行 m 列的矩阵,形状为(n,m)
itemsize 返回 int,表示数组的每个元素的大小(以字节为单位)
  1. 创建数组对象
  • 创建数组并查看数组属性

numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0) //注意是array不是ndarry

参数 说明
object 接收array,表示想要创建的数组。无默认
dtype 接收data-type,表示数组所需的数据类型。如果未给定,则选择保存对象所需的最小类型。默认为None
ndmin 接收int。指定生成数组应该具有的最小维数。默认为None
  • 重新设置数组的 shape 属性

    arr.shape = a,b //总数必须不变,即不允许截断

  • 使用 arange 函数创建数组

    arange(begin,end,等分量) // [begin,end)

  • 使用 linspace 函数创建等差数组 (begin,end,num)

    公差d = (end - start) / (num - 1)

    1
    2
    >b = np.linspace(0,1,9)
    [0. 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1. ]
  • 使用 logspace 函数创建等比数列

  • zeros函数 全0数组

  • eye函数创建单位矩阵

  • diag函数创建对角矩阵

  • ones函数创建全1数组

NumPy 矩阵与通用函数

利用 NumPy 进行统计分析


参考

  1. 维基百科numpy

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!