0、前言:
- 数组:计算机领域的概念
- 矩阵:数学领域的概念
- 对于Numpy而言,矩阵是数组的分支
1、创建矩阵:
- 字符串创建矩阵:mat1 = np.matrix(‘1 2;3 4’)
- 列表形式创建矩阵:mat2 = np.matrix([[5, 6], [7, 8]])
- 通过数组创建矩阵:
arr = np.array([[5, 6], [7, 8]])
mat3 = np.matrix(arr) - 创建3*3的0矩阵: np.matrix(np.zeros((3, 3)))
- 创建3*3的1矩阵:np.matrix(np.ones([2, 4]))
- 创建3*3的矩阵,数值范围为[0,1)的小数:np.matrix(np.random.rand(3, 3))
- 创建3*5的矩阵,数值范围为[1,8)的整数:np.matrix(np.random.randint(1, 8, size=(3, 5)))
- 创建4*4的对角矩阵,对角线元素为1,其他元素为0,即单位矩阵:np.matrix(np.eye(4, 4, dtype=int))
- 创建3*3的对角矩阵,对角线元素为[1, 2, 3]:np.matrix(np.diag([1, 2, 3]))
2、矩阵运算1:
- 数组四则运算原理:广播机制
上图中,两个数组可以进行四则运算的前提要么是两个数组形状相同,要么就符合上面的广播机制。 - 同理,矩阵的(加法、减法、除法)运算也可以应用传播机制
- 矩阵乘法运算要求:第1个矩阵的列数必须等于第2个矩阵的行数
- 两个二维(通过”数组名.ndim“查看维数,一般有几个中括号就是几维)数组的点乘运算等价于矩阵乘法运算:np.dot(m3, m4)
3、矩阵重塑:
- 矩阵转置:mat.T
- reshape矩阵重塑
重塑前后的元素个数必须一致
重塑后不会修改原矩阵 - resize矩阵重塑
重塑前后的元素个数可以不一致:重塑后比原尺寸小,自动截断。重塑后比原尺寸大,以0填充。
重塑后会修改原矩阵
4、数学运算函数:
- 以下举例假设新建了n1和n2和n3数组
- 通过函数进行数学运算
- 符号运算和函数运算均采用广播机制,以下介绍函数运算
- 判断数组是几维的:数组名.ndim
- 加法运算:np.add(n1, n2)
- 减法运算:np.subtract(n1, n2)
- 乘法运算:np.multiply(n1, n2)
- 除法运算:np.divide(n1, n2)
- 幂运算:np.power(n1, n2) # 以n1中元素为底数,n2对应位置元素为指数。
- 取整(相除后取整数部分):np.floor_divide(n1, n2)
- 取余/取模(相除后取余数部分):np.mod(n1, n2)
- 求相反数:np.negative(n1)
- 求倒数:np.reciprocal(n1.astype(float)) # 换成浮点型的原因是为了求出来有小数
- 四舍五入保留两位小数:np.around(n2, decimals=2)
- 四舍五入取整到小数点左侧一位:np.around(n3, decimals=-1)
- 向上取整:np.ceil(n3)
- 向下取整:np.floor(n3)
- 元素累加、元素累乘
- 指数运算、对数运算
5、统计分析函数:
- 对数组求和:数组名.sum()
- 每列的行元素求和:数组名.sum(axis=0)
- 每行的列元素求和:数组名.sum(axis=1)
- 对数组求平均值:数组名.mean()
- 按照行求平均值:数组名.mean(axis=0)
- 按照列求平均值:数组名.mean(axis=1)
- 求数组最大值:arr.max()
- 按照行求最大值:arr.max(axis=0)
- 按照列求最大值:arr.max(axis=1)
- 加权平均值:
按数量number占比来计算加权单价price
加权平均数的好处消除极端值的影响
np.average(price, weights=number) - 中位数:np.median(数组名)
- 方差:np.var(数组名)
- 标准差:np.std(数组名)
6、数组排序
- 把每一列中所有行进行排序:np.sort(n, axis=0)
- 把每一列中所有行进行降序:
先升序再反转
asc = np.sort(n, axis=0)
np.flip(asc, axis=0) - 把每一行中所有列进行升序:np.sort(n, axis=1)
文章来源地址https://www.toymoban.com/news/detail-726467.html
文章来源:https://www.toymoban.com/news/detail-726467.html
到了这里,关于数据分析03——矩阵常用计算方法和函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!