numpy常用方法
    numpy是Python语言的重要科学计算库,它提供高效的多维数组和矩阵计算功能。numpy中有很多重要的方法,下面介绍numpy常用方法(包含numpy的常数和随机函数)。
    1. numpy的常数
    numpy中有一些常用的数学常数,如 π 等,使用 np.pi 来调用 π ,使用 np.e 来调用自然 对数 的底数 e 。
    2. numpy的随机函数
    numpy中有多个随机函数,可以用于生成满足特定分布的随机序列。
    numpy.random.rand(): 生成服从均匀分布的随机数,参数为维度。np.random.rand(2,3) 会生成一个 $2\times3$ 的数组,其中的每一个数均匀分布在(0,1)的区间内。
    numpy.random.randn(): 生成服从标准正态分布的随机数,参数同 np.random.rand() 。
    numpy.random.randint(): 生成指定范围内的整数随机数。参数依次为 low、high(不包括)、size参数,前两个参数定义了生成随机数的范围,size为期望的随机数的形状。
    al(): 从正态分布中随机选择样本,参数为 loc、scale 和 size。loc 是均值(mean),scale 是标准差(standard deviation),size 是期望得到的样本的形状。
    3. 数组创建
    numpy支持多种方式创建数组,如生成具有固定元素的数组、从生成器中读取数据、生成随机数数组等。以下是一些最常用的方法:
    numpy.array(): 从常规的Python列表或者元组中创建一个数组。a = np.array([1, 2, 3, 4, 5]) 将以列表 [1,2,3,4,5] 为元素创造一个一维数组。
    s(): 返回一个以0填充的数组,参数为数组的形状信息,可以使用元组作为参数。
    s(): 返回一个以1填充的数组,参数同于s()。
    numpy.arange(): 用于创建一维数组,起始元素为起点,元素间的差值为step。范围是 [start, end),end 为 2 个参数中的一个。
    numpy.linspace(): 返回一维等差数组,与 numpy.arange() 函数不同的是,数组的最后一个元素不一定正好是 end。参数为 start、end 和 num,其中 num 是数组中的元素数量。
    (): 创建一个单位矩阵,参数为矩阵的行数(行数等于列数)。
    numpy.diag(): 从指定的对角线元素中创建一个二维数组或者将二维数组的特定对角线提取为一维数组。这个函数接受一维数组作为输入,创建方阵并设置输入数组的对角线元素。np.diag([1,2,3]) 返回一个以 [1,2,3] 为对角线元素的3 x 3 矩阵。
    4. 数组操作python数组合并
    numpy提供了多种对ndarray数组进行操作的方法,包括改变数组的形状、改变元素值等。
    shape(): 可以将数组变成不同的形状,参数为形状信息。a = np.arange(15).reshape(3, 5) 将生成一个3行5列、元素是0-14的数组。
    数组转置:使用 np.transpose() 或者 .T 对数组进行转置操作。
    数组扁平化:使用 ndarray.flatten() 函数来将多维数组转化成一维数组。
    数组合并:np.concatenate() / np.vstack() / np.hstack() 是numpy中用于数组合并的三个关键函数,分别对应数组的拼接、垂直叠加和水平叠加。
    数组复制:py() 用于在内存中复制一个数组。
    5. 数组索引和切片
    与Python中的列表相似,numpy数组同样支持索引和切片操作。数组的索引方式是从0开始的。
    简单索引:使用 a[1] 来获取数组a中索引为1的元素。
    切片:使用 a[1:3] 或者 a[1::2] 来获取至少两个元素的子数组,并返回切片对象。
    多维数组:多维数组的索引方式更加灵活,使用类似于a[0,0]的方式来索引。
    布尔数组:为ndarray数组提供了布尔索引功能。如果 arr 是一个形状为 (8,3) 的数组,可以使用 arr[[True,False,True,False,False,True,True,False],:] 来对数组进行过滤。
    6. 数学函数
    numpy中有很多数学函数,包括元素级别的加减乘除等基本运算操作,以及更高级别的函数,如矩阵乘法、矩阵分解等。
    加、减、乘、除:分别对应 ndarray 数组加减乘除的基本操作,使用 a+b、a-b、a*b、a/b。
    幂和指数函数:幂操作使用 np.power() ,指数运算使用 np.exp() 。
    三角函数:numpy中有很多三角函数,如 np.sin()、np.cos() 和 np.tan() 。
    对数函数: numpy中同样有多个对数函数,如 np.log()、np.log2() 和 np.log10() 。
    线性代数函数:numpy中还有一些用于线性代数方面运算的函数,如矩阵乘法 np.dot()、矩阵的逆 np.linalg.inv(),以及矩阵的行列式 np.linalg.det() 。
    7. 统计函数
    numpy中还拥有很多常用的统计函数,如均值、方差、标准差等等。
    均值和方差:通过调用 np.mean() 和 np.var() 函数计算数组的平均值和方差。
    标准差:使用 np.std() 函数计算数组的标准差。
    最大值和最小值:分别由 np.max() 和 np.min() 函数计算。
    直方图:使用 np.histogram() 可以绘制出数组的直方图。
    8. 其他函数
    内积: np.inner() 用于计算数组的内积。
    外积: np.outer() 用于计算数组的外积,其中输出是一个两个输入数组之间的矩阵。
    排序: np.sort() 用于执行数组排序操作。
    重复函数:np.tile() 函数可以用于重复数组,np.tile(a, (2, 2)) 将数组a复制成一个2 x 2的矩阵。
    9. 性能提升
    numpy中的一些函数具有高性能,而一些操作需要调整参数才能获得最佳性能。
    使用向量化操作:numpy中大量的操作都支持向量化操作,这种方式可以提高执行的效率。
    使用切片操作:使用切片可以提高计算效率,因为它比循环更快。
    使用内存视图: 将ndarray使用内存视图进行扩展可以避免显式的复制数据并降低存储器的占用。
    总结
    numpy是Python中最重要的科学计算库之一,提供了一系列高效的多维数组和矩阵计算功能。本文介绍了numpy中的常数和随机函数、数组创建、数组操作、数组索引和切片、数学函数、统计函数、其他函数以及性能提升等方面的内容。对于想要利用numpy在Python中进行科学计算的学习者来说,掌握这些常用操作是非常重要的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。