python-numpy

Numpy学习的官方网站:http://www.numpy.org/

编译器:pycharm

加载库操作:

  file-setting-...,如下图所示:

 

引用语句:

import numpy as np

功能介绍:

  • 提供数组的矢量化操作,所谓矢量化就是不用循环就能将运算符应用到数组中的每个元素中。
  • 提供数学函数应用到每个数组中元素
  • 提供线性代数,随机数生成,傅里叶变换等数学模块
  • ndarray:numpy库的心脏,多维数组,具有矢量运算能力,快速、节省空间在array中的数据类型是一致的。

ndarray:

  ndarray具有多维性。ndarray的元素可以通过索引的方式进行访问。在Numpy中,ndarray的维度称为axes。axes的大小称为rank。列如ndarray[1,2,1],它的维度为1,rank的值为1,因为只有一维。索引从0开始

主要函数:

 

其他:

  • ndarray[:,numpy.newaxis]增加列的维度。对于单行横矩阵,变成单行列矩阵。
  • numpy.concatenate((A,B,B,A),axis=0)也是合并矩阵,axis=0表示垂直合并,- axis=1表示水平合并
  • numpy.dstack(())深度组合,将互不相干的
  • numpy.split(A,2,axis=1)对矩阵数组分割分成两块,axis=1是行分割,axis=0是列分割。等量分割,必须除的断
  • numpy.array_split(A,2,axis=1)不等量分割,第一个矩阵占元素较多。
  • numpy.vsplit(A,3)纵向分割,hsplit(A,3)横向分割 对于多维,只分割最外维的
  • numpy.dsplit()深度分割,突破维数的一列一列的分割
  • numpy属性 size元素个数 itemsize元素空间大小 nbytes总空间 T转置 ndim维数 real复数数组的实部,imag复数数组的虚部 flat返回迭代器遍历数组
  • numpy.tolist()将数组转换为列表
  • numpy.eye(宽高)单位矩阵即对角线为1的二维数组
  • numpy.loadtxt(‘data.csv’,delimiter=’,’,)载入csv文件

 

  • numpy.median()取到数组中位数
  • numpy.msort()排序数组
  • numpy.var()统计数组的方差
  • numpy.diff()返回数组相邻值的差值组成的数组
  • numpy.log()得到数组每个元素的对数数组
  • numpy.std()数组的标准差
  • ndarray.copy()复制
  • numpy.dtype()自定义数据类型,接收元组的列表作为参数。()元组第一个是数据名称,第二个是数据类型,第三个指定数据类型长度,创立该类型的数据只要将对应数据元组列表传给array()指定dtype=自定义数据类型
  • 利用:或…对多维数组进行切片
  • numpy.ravel()输出一个多维数组被抹平成一维数组的视图
  • numpy.resize()直接修改数组,而reshape()返回修改后的新数组
  • numpy.transpose()转置
  • numpy.where(x,date==i)取出符合条件表达式的索引
  • numpy.take(x,indices)根据索引数组取出值数组
  • numpy.maximum(多个数组)每个数组的最大值组成一个数组
  • numpy.convolve()卷积,两个函数相乘,移动窗口均值可以用1/窗口长度组成的数组和原数组作为参数
  • numpy.linespace()返回一个元素值在指定范围均匀分布的数组
  • ndarray.clip(min,max)返回一个修剪过的数组,比min小的修正为min,比max大的修正为max
  • ndarray.compress(条件)返回数组元素经过条件筛选组成的数组
  • ndarray.prod计算所有元素的乘积
  • numpy.cov()计算两个数组之间的协方差矩阵
  • ndarray.trace计算矩阵的迹,即对角线元素之和
  • numpy.corrcoef()计算两个数组之间的相关系数
  • numpy.ployfit(x=,y=,阶次)对给的数据进行多项式拟合
  • numpy.polyval(ployfit拟合的函数,x)进行计算预测
  • numpy.polyder(多项式函数)对函数进行求导
  • numpy.argmax(函数对象)找出最大值点的x值
  • numpy.hanning()加权余弦窗函数进行数据平滑
  • numpy.mat(‘1;4;4’)创建矩阵,矩阵的行与行用分号隔开,也可以传入已有矩阵,但是不会创建副本
  • .-I属性是逆矩阵
  • numpy.matrix(data,copy=False)也是创建矩阵
  • numpy.bmat(“矩阵名A 矩阵名B;矩阵名A 矩阵名B;”)通过分块矩阵创建大矩阵
  • numpy.remainder(),mod(),%返回两个数组中相除后的余数组成的数组
  • numpy.Fmod()余数的正负由被除数决定,与除数无关

专用函数:

  • np.bitwise_xor()函数对应异或 bitwise_and对应与 ==对应equal()函数
  • np.linalg.inv(A)计算矩阵A的逆矩阵
  • np.linalg.solve(A,b)用矩阵对向量b进行线性变换,即求解线性方程组得出系数向量
  • np.dot(A,x)点积函数,通过矩阵A与系数向量x点积来验证求解线性方程组是否正确。

 线性代数:

  • np.linalg.eigvals()计算矩阵的特征值
  • np.linalg.eig()返回特征值和对应的特征向量的元组
  • np.linalg.svd()分解矩阵为三个矩阵的乘积
  • np.linalg.pinv()求解广义逆矩阵
  • np.linalg.det(A)计算矩阵的行列式
  • np.linalg.fftshift()FFT输出中的直流分量移动到频谱的中央ifftshift()是逆操作
感想:
  
大部分的函数和matlab的相近,语法也差不多。提供了很多数学计算函数。

  操作也大部分是在原矩阵上实现,节省了很多空间。
-----------------------------------------------------------------------------------------------------------------------------------2018.3.18

 



posted @ 2018-03-18 15:19  Hesse  阅读(140)  评论(0编辑  收藏  举报