Numpy的矩阵相关操作

您所在的位置:网站首页 numpy矩阵reshape Numpy的矩阵相关操作

Numpy的矩阵相关操作

#Numpy的矩阵相关操作| 来源: 网络整理| 查看: 265

NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组array),它们都可以用于处理行列表示的数组元素,

虽然它们看起来很相似,但是在这两种数据类型上执行相同的数学运算,可能得到不同的结果。 在NumPy中,矩阵应用十分广泛

创建矩阵 mat()

mat()函数创建的是矩阵类型,array()函数创建的是数组类型,而用mat()函数创建的矩阵才能进行一些线性代数的操作

语法:np.mat([[数据]])

注意:矩阵需要使用[]包着

(1)创建一个3×3的0(零)矩阵 np.mat(np.zeros((3,3)))

(2)创建一个2x4的1矩阵 np.mat(np.ones((2,4)))

(3)使用random模块的rand()函数创建一个3×3为0~1随机产生的二维数组,并将其转换为矩阵

np.mat(np.random.rand(3,3))

(4)创建一个1~8的随机整数矩阵   np.mat(np.random.randint(1,8,size=(3,5)))

(5)创建对角矩阵 np.mat(np.eye(4,4,dtype=int))

(6)创建对角线矩阵 np.mat(np.diag())

矩阵运算

使用算术运算符“+”“-”“*”“/”对矩阵进行加、减、乘、除的运算

矩阵的加减除可以直接对两个数组进行操作

但是矩阵的乘法比较特殊,第一行要分别乘于每一列得出结果

import numpy as np data1=np.mat([[1,2],[3,4],[5,6]]) data2=np.mat([[1,2],[3,4]]) print(data1*data2)

结果:[[ 7 10] [15 22] [23 34]]

运算过程:data1中的1,2分别乘于data2的1,3和2,4,然后依次类推

矩阵元素相乘可以使用multiply()函数

矩阵转换  1.矩阵转置 T

使用T属性实现矩阵转置

2.矩阵求逆 I

矩阵要可逆,否则意味着该矩阵为奇异矩阵(即矩阵的行列式的值为0)

NumPy常用统计分析函数 数学运算函数 函数说明add() subtract()  multiply()  divide()简单的数组加减乘除运算abs()取绝对值sqrt()计算数组中各元素的平方根square()计算数组中各元素的平方log() log10() log2()计算数组中各元素的自然对数分别以10,2为底reciprocal()计算数组中各元素的倒数,4/3的倒数是3/4power()第一个数组中的元素为底数,计算它与第二各数组中相应元素的幂 mod()计算数组之间相应元素相除后的余数 ,负数取余算法r=a-n[a//n] ,其中r为余数,a是被除数,n是除数,“//”为运算取商时保留整数的下界,即偏向于较小的整数around()指定小数位数的四舍五入,如果数为一个负数,那么就向数据前多少位进行四舍五入ceil() floor()

计算数组中各元素向上取整,返回大于或者等于指定表达式的最小整数

向下取整:返回小于或者等于指定表达式的最大整数

sin() cos() tan()

三角函数,计算数组中角度的正弦值,余弦值,和正切值

弧度转角度 np.degrees() np.pi表示Π

modf()把数组的小数位和整数分割成独立的数组exp()计算数组中各元素的指数值sign()计算数组中各元素的符号值(+ )(-)maximum() fmax()计算数组元素的最大值,计算两个数组同一位置的最大值minimum() fmin()

计算数组中元素的最小值,计算两个数组同一位置的最小值

copysign(a,b)将数组b中各元素的符号赋值给数组a对应的元素

统计分析函数 统计分析函数 函数说明sum()

对数组中元素或某行某列的元素求和,不指定行列,求得是整个数组的和,

可以使用axis指定行列0表示行,1表示列

cumsum()

所有数组元素的累计求和,第一行/列数据加上第二行/列数据,依次累加

最后一行/列的值是上边的累加

cumprod()所有数组元素累计求积,原理同上mean()计算平均值,默认是所有数据的平均值,可以使用axis指定min() max()计算数组的最小值和最大值average()

加权平均值,一个数出现的次数为权,将一组数据与出现的次数相乘再平均就是“加权平均”

median()计算数组中元素的中位数(中值)var()计算方差std()计算标准差prod()求积argmin() argmax()计算数组最小值和最大值的下标unravel_index()根据数组形状将一维下标转成多维下标ptp()计算数组最大值和最小值的差

数组的排序 1.sort()函数

使用sort函数进行排序,直接会改变原数组,参数axis指定按行还是按列排序

2.argsort()函数

使用argsort()函数对数组进行排序,返回升序排序之后数组值从小到大的索引值

返回的是我们排序后的索引值,而不是数据

3.lexsort()函数

lexsort()函数用于对多个序列进行排序。可以把它当作是对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列

有一组数据,总分,数学和英语分数,如果想要按照总分优先,数学其次,最后看英语成绩的这样的一个数据,他们的排序应该是英语,数学,和总分,优先照顾靠后的列



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3