python必备库 学习笔记 numpy

numpy

  • numpy是一个开源的python科学计算库,用于快速处理任意维度的数组
  • 核心数据结构 numpy提供n维数组类型ndarray,他描述相同类型的item集合

创建ndarray

通过numpy.array()函数创建数组
在这里插入图片描述
可以在创建数组时指定数组的类型
在这里插入图片描述

创建全0 ndarray

通过numpy.zeros((i,j))创建一个i行j列的全0的ndarray
在这里插入图片描述

创建全1 ndarray

通过numpy.ones((i,j))创建一个i行j列的全1 ndarray
在这里插入图片描述

创建空 ndarray

空并不是真的空,而是创建一个每个元素都接近0的ndarray
在这里插入图片描述

创建随机 ndarray

np.random.random(i,j)随机生成一个0-1的i行j列 ndarray
在这里插入图片描述

numpy.arange(a,b,n).reshape(i,j)

numpy.arange(a,b,n)返回一个从a开始,到b结束(不包括b),步长为n的ndarray,不指定步长时默认为1
在这里插入图片描述
步长为2时
在这里插入图片描述
通过numpy.arange(a,b,n).reshape(i,j)生成矩阵i行j列的ndarray
在这里插入图片描述

numpy.linespace(a,b,n).reshape(i,j)

numpy.linespace(a,b,n)返回一个从a开始,到b结束的共n段的线段的ndarray
在这里插入图片描述
numpy.linespace(a,b,n).reshape(i,j)返回一个i行j列的ndarray
在这里插入图片描述

numpy.narray的属性

numpy.array.ndim

返回ndarray的维数
在这里插入图片描述

numpy.array.shape

返回ndarray的行列数,(a,b)a代表行数,b代表列数
在这里插入图片描述

numpyp.array.size

返回ndarray的元素个数
在这里插入图片描述

numpy.narray运算

在narray元素进行运算时,两个narray的shape和size要相等,否则会报错

-

两个ndarray对应位置上元素进行减法运算
在这里插入图片描述

+

两个ndarray对应位置上元素进行加法运算
在这里插入图片描述

array**n

ndarray的n次幂运算
在这里插入图片描述

numpy.sin(array)

返回ndarray上面每个元素的sin值
在这里插入图片描述

numpy.cos(array)

返回ndarray上面每个元素的cos值
在这里插入图片描述

numpy.tan(array)

返回ndarray上面每个元素的tan值
在这里插入图片描述

矩阵乘法
  1. 对应位置矩阵元素乘,即矩阵1的i行j列上的元素乘上矩阵2的i行j列上的元素为新矩阵的i行j列上的元素
    在这里插入图片描述
  2. 矩阵乘法,按照线性代数中矩阵的乘法规则进行运算,矩阵1上的第一行元素与矩阵2上的第一列元素分别对应相乘之后求和即为新矩阵上1行1列的元素
    在这里插入图片描述
    np.dot(a,b)等同a.dot(b)

numpy.narray逻辑运算

array < number

判断ndarray中元素是否小于某个值,返回结果True,False的列表
在这里插入图片描述

array == number

判断ndarray中元素是否等于某个值,返回结果True,False的列表
在这里插入图片描述

numpy.array.all()

ndarray元素全为True时才为True,有一个False就为False
在这里插入图片描述

numpy.array.any()

ndarray元素全为False时才为False,有一个True就为True
在这里插入图片描述

numpy.where()三元运算符

np.where(判断条件表达式,成立时显示的值,不成立时显示的值)
在这里插入图片描述

numpy.ndarray统计运算

numpy.array.sum()

调用方式numpy.array.sum()或numpy.sum(numpy.array)
对ndarray元素进行求和运算,
在这里插入图片描述
添加参数axis=1 列 axis=0 行,numpy.array.sum(axis=1)表示对每个列分别求和
numpy.array.sum(axis=0)表示对每个行分别求和
在这里插入图片描述

numpy.array.min()

调用方式numpy.array.min()或numpy.min(numpy.array)
返回ndarray元素的最小值
在这里插入图片描述
添加参数axis=1 行 axis=0 列,numpy.array.sum(axis=1)表示对每个行分别求最小值
numpy.array.sum(axis=0)表示对每个列分别求最小值
在这里插入图片描述

numpy.array.max()

调用方式numpy.array.max()或numpy.max(numpy.array)
返回ndarray元素的最大值
在这里插入图片描述
添加参数axis=1 行 axis=0 列,numpy.array.sum(axis=1)表示对每个行分别求最小值
numpy.array.sum(axis=0)表示对每个列分别求最小值
在这里插入图片描述

numpy.argmin(array)

调用方式numpy.argmin(array)或numpy.array.argmin()
返回矩阵最小值索引,多维ndarray索引跟一维ndarray一样,索引是依次排列下去的
在这里插入图片描述

numpy.argmax(array)

调用方式numpy.argmax(array)或numpy.array.max()
返回矩阵最大值索引,多维ndarray索引跟一维ndarray一样,索引是依次排列下去的
在这里插入图片描述

numpy.mean(array)

调用方式numpy.mean(array)或numpy.array.mean()
返回ndarray的平均值
在这里插入图片描述

numpy.average(array)

调用方式numpy.average(array)
返回ndarray的平均值
在这里插入图片描述

numpy.median(array)

调用方式numpy.median(array)
返回ndarray的中位数在这里插入图片描述

numpy. cumsum(array)

调用方式numpy.cumsum(array)或numpy.array.cumsum()
返回累加得到的新ndarray,新ndarray的第一个元素为原ndarray第一个元素,新ndarray的第二个元素为原ndarray第一个元素和第二个元素之和,新ndarray的第三个元素为原ndarray第一个元素和第二个元素和第三个元素之和,依次类推。
在这里插入图片描述

numpy. diff(array)

调用方式numpy.diff(array)
返回累差得到的新ndarray,新ndarray的第一个元素为原ndarray第二个元素与第一个元素的差,新ndarray的第二个元素为原ndarray第三个元素和第二个元素之和,依次类推。
在这里插入图片描述

numpy. nonzero(array)

调用方式numpy.nonzero(array)或numpy.array.nonzero()
返回ndarray,ndarray里面是原ndarray非零元素位置,一维ndarray返回的是索引,二维ndarray返回的行列位置,前面ndarray是行索引,后面ndarray是列索引。
在这里插入图片描述

numpy. sort(array)

调用方式numpy.sort(array)
将原ndarray逐行逐行的排序后返回
在这里插入图片描述

ndarray的转置

调用方式numpy.transpose(array)或numpy.array.T或numpy.array.transpose
返回原ndarray的转置ndarray,转置就是原ndarray的行变新ndarray的列,原ndarray的列变新ndarray的行
在这里插入图片描述

numpy.clip(array,min,max)

调用方式numpy.clip(array,min,max)或numpy.array.clip(min,max)
返回一个新ndarray,ndarray元素小于min的换为min,大于max的换为max,之间的保留不变
在这里插入图片描述

ndarray的索引

一维ndarray
  • 一维ndarray,直接通过下标[i]访问
    在这里插入图片描述
二维ndarray
  • 二维ndarray,通过下标[i][j]访问
    在这里插入图片描述
  • 二维ndarray,通过下标[i,:]访问一行
    在这里插入图片描述
  • 二维ndarray,通过下标[:,i]访问一列
    在这里插入图片描述
  • 二维ndarray,通过下标[i][j:k]访问i行索引为j到k的元素(不包括k)
    在这里插入图片描述

ndarray的遍历

  • 通过for循环获取ndarray的行
    for row in numpy.array:
      代码块
    在这里插入图片描述
  • 通过for循环获取ndarray的列
    for col in numpy.array.T:
      代码块
    在这里插入图片描述

numpy.array.flattenr()

调用方式numpy.array.flattenr()
返回ndarray的所有元素组成的新ndarray
在这里插入图片描述

numpy.array.flat

返回一个可迭代对象,可用于for循环做遍历可访问ndarray中所有值
在这里插入图片描述

numpy.axis

一般用于生成纵向的ndarray
在这里插入图片描述

ndarray的合并

numpy.vstack((array1,array2))

将两个ndarray上下拼接组成一个新ndarray
在这里插入图片描述

numpy.hstack((array1,array2))

将两个ndarray左右拼接组成一个新ndarray
在这里插入图片描述

numpy.concatenate()

用于ndarray的连接,可指定参数axis默认为0 ,axis=0代表行上做连接,axis=1代表列上做连接,
在这里插入图片描述
如果是一维ndarray不支持在列上合并
在这里插入图片描述

ndarray的分割

numpy.split(array,n,axis)

将ndarray分割为相等相同大小的n份,

分割时要求行列数是n的整数倍,如果分割的是行数,则行数必须是n的整数倍,如果分割的是列数则列数必须是n的整数被,否则会报错。

axis=0代表在行上分割1
在这里插入图片描述
axis=1代表在列上分割
在这里插入图片描述

numpy.array_split(array,n,axis)

将ndarray分割为不相等的n份,
axis=1表示在列上进行分割,4列分成三份不会出错
在这里插入图片描述
axis=0表示在行上进行分割,4行分成三份不会出错
在这里插入图片描述

numpy.hsplit(array,n)

将矩阵纵向分割成相同大小的2份
在这里插入图片描述

numpy.vsplit(array,n)

将矩阵横向分割成相同大小的2份
在这里插入图片描述

numpy读取文件

numpy.genfromtxt(‘路径’,delimiter=‘分割符’)
在这里插入图片描述
与原始数据对比发现,numpy读取数据时,会将str自动变为nan
在这里插入图片描述

发布了85 篇原创文章 · 获赞 158 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/Late_whale/article/details/104358902