NumPy科学计算库

目录

多维数组

创建NumPy数组

数组运算

数据元素的切片

改变数组的形状

数组运算

矩阵和随机数

创建矩阵

矩阵运算

随机数模块


多维数组

数组的形状(Shape):是一个元组,用来描述数组的维度,以及各个维度内部的元素个数。

  • shape:(30,5) 表示第一个维度中有30个元素,第二个维度中有5个元素,即30行5列
  • shape:(5, ) 表示只有一个维度,该维度有5个元素
  • shape:(10,30,5) 表示一个三维数组

创建NumPy数组

使用NumPy科学计算库(Anaconda已安装好)

  • pip安装:pip install numpy
  • 导入NumPy库:import numpy as np

创建数组

  • array([列表]/(元组),dtype=数据类型)
  • asarray([列表]/(元组)

区别:当数据源本身已经是一个ndarray对象时,array()仍然会复制出一个副本,asarray()则直接引用本来的数组

注意:numpy要求数组中所有元素的数据类型必须是一致的

数组的属性
ndim数组的维数
shape数组的形状
size数组元素的个数
dtype数组中元素的数据类型
itemsize数组中每个元素的字节数

创建特殊的数组
np.arange(start,stop,步长,dtype=数据类型)创建数字序列数组(前闭后开,步长默认1,起始默认0)
np.ones(shape,dtype=数据类型)创建全1数组
np.zeros(shape,dtype=数据类型)创建全0数组
np.eye(shape,dtype=数据类型)创建单位矩阵
np.linspace(start,stop,num)创建等差数列(前闭右闭)
np.logspace(start,stop,num,base)创建等比数列

数组运算

数据元素的切片

用,隔开各个维度的切割,与python相似

改变数组的形状

  • np.reshape(shape):不改变当前数组,按照shape创建新的数组。shape为-1时,会根据数组中总个数、以及其它维度的取值,来自动计算这个维度的取值
  • np.resize(shape):改变当前数组,按照shape创建数组

数组运算

  • 一维数组可以和多维数组相加,相加时会将一维数组扩展至多维
  • 数组之间的减法、乘法、除法运算,和加法运算规则相同
  • 幂运算:对数组中的每个元素求n次方

  • 乘法运算符:矩阵中对应的元素分别相乘
  • 矩阵相乘:np.matmul()或np.dot()
  • 矩阵转置:np.transpose()
  • 矩阵求逆:np.linalg.inv()
  • np.sum(A):计算数组A中所有元素的和      
  • np.sum(A,axis)        轴(axis):数组中每一个维度被称为一个轴   秩(rank):轴的个数

  • np.prod(A):计算数组A中所有元素的乘积
  • np.diff():计算数组相邻元素间的差
  • np.sqrt():计算各元素的平方根
  • np.exp():计算各元素的指数值
  • np.abs():取各元素的绝对值
  • np.stack((数组1,数组2,...),axis)

矩阵和随机数

创建矩阵

  • numpy.matrix(字符串/列表/元组/数组)
  • numpy.mat(字符串/列表/元组/数组)

矩阵运算

  • 矩阵相乘: *
  • 矩阵转置:  .T
  • 矩阵求逆:  .I   

随机数模块

函数功能描述返回值
np.random.rand(d0,d1...dn)数组在[0,1)区间均匀分布的数组浮点数
np.random.uniform(low,high,size)元素在[low,high)区间均匀分布的数组浮点数
np.random.randint(low,high,size)元素在[low,high)区间均匀分布的数组整 数
np.random.randn(d0,d1...dn)产生标准正态分布的数组浮点数
np.random.normal(loc,scale,size)产生均值为loc标准差为scale的正态分布数组浮点数
np.random.shuffle(序列)

 

打乱顺序函数

 

注:如果使用相同的seed()值,则每次生成的随机数都相同;如果采用seed()函数设置随机种子,仅一次有效。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值