栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Numpy矩阵操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Numpy矩阵操作

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/4
power()第一个数组中的元素为底数,计算它与第二各数组中相应元素的幂 
mod()计算数组之间相应元素相除后的余数 ,负数取余算法r=a-n[a//n] ,其中r为余数,a是被除数,n是除数,“//”为运算取商时保留整数的下界,即偏向于较小的整数
around()指定小数位数的四舍五入,如果数为一个负数,那么就向数据前多少位进行四舍五入
ceil() floor()

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

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

sin() cos() tan()三角函数,计算数组中角度的正弦值,余弦值,和正切值
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()函数用于对多个序列进行排序。可以把它当作是对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947860.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号