当前位置:   article > 正文

numpy矩阵相关操作

numpy矩阵相关操作

numpy矩阵操作

加减乘除

1)单个数组元素的操作

  • n + 10
  • n - 10
  • n * 10
  • n / 10
  • n // 2
  • n ** 2
  • n % 2

2)两个数组的操作(每个数组中对应的元素做操作)

  • n1 + n2
  • n1 - n2
  • 其他算术运算都一样

3)线性代数中的矩阵操作

  • 矩阵积np.dot( ),要求:第一个数组的列数要和第二个数组的行相同,否则会报错,计算公式如下:
# A数组如下			#  B数组如下
[a11, a12, a13],	[b11, b12],
[a21, a22, a23],	[b21, b22],
					[b31, b32]
# 进行矩阵积,过程如下
[a11*b11 + a12*b21 + a13*b31],
[a21*b11 + a22*b22 + a23*b32]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 矩阵逆np.linalg.inv(n)
  • 矩阵的行列式np.round(np.linalg.det(n)),
# 数组n如下:
[1, 2, 3],
[2, 5, 4],
[4, 5, 8]

#行列式的计算:
1*5*8 + 2*4*4 + 3*2*5 -(3*5*4 + 2*2*8 + 1*4*5) = -10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 矩阵的秩np.linalg.matrix_rank(n)

广播机制

​ 所谓的广播机制就是当2个不同维度的数组进行加减的时候,将把维度小的数组自动填充数组变成维度大且维度数组相同的数组,然后再进行计算,在填充过程中会有已有数据进行填充。案例演示如下

# 数组a	# 数组b
[1],	[1, 2, 3] 
[2],
[3]

# 进行相加a + b自动激发广播机制,补全数据
# 补填后的a			# 补填后的b
[1, 1, 1],			[1, 2, 3],	
[2, 2, 2],			[1, 2, 3],	
[3, 3, 3]			[1, 2, 3],	

# 最后计算结果得:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

其他常见的数学操作

  • np.abs(n) # 绝对值
  • np.sqrt(n) # 平方根
  • np.square(n) # 平方
  • np.exp(n) # 指数 e = 2.718281828459045
  • np.log(n) # 自然对数:以e为底的对数,ln3
  • np.log(np.e) # 1
  • np.log(1) # 0
  • np.log2(n) # 2为底的对数
  • np.log10(n) # 10为底的对数,常用对数
  • np.sin(n) # 正弦
  • np.cos(n) # 余弦
  • np.tan(n) # 正切
  • np.round(n, 2) # 四舍五入
  • np.ceil(n) # 向下取整
  • np.cumsum(n) # 累加

numpy数组排序

快速排序升序

  • 不改变原数组的排序,会占用额外的内存空间

    np.sort(n1) 如果要使用,就需要用一个变量接住

  • 直接改变数组元素的排序

    n1.sort(),这个时候n1就是已经排好序的数组,可以直接使用

ndarray文件操作

保存数组

  • save: 保存ndarray到一个npy文件
  • savez: 将多个array保存到一个npz文件中

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

24年7月16-7月23完结

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/884711
推荐阅读
相关标签
  

闽ICP备14008679号