数据可视化基础专题(二十五):numpy80题(四)第二期|基本矩阵操作与运算

第二期|基本矩阵操作与运算

import numpy as np

21.创建主对角线都是5的5x5矩阵

result = np.diag([5,5,5,5,5])
result

22.交换第一列与第二列

a = result[:, [1,0,2,3,4]]

23.交换第一行与第二行

b = result[[0,1,2,4,3], :]

24.判断两个矩阵是否有任何元素不同(使用22,23两题得到的矩阵)

print((a == b).all())

25.计算两个矩阵不同元素的个数(使用22,23两题得到的矩阵)

len(np.argwhere(a != b))

26.找到两个矩阵不同元素的位置(使用22,23两题得到的矩阵)

np.argwhere(a != b)

27.矩阵乘法(使用22,23两题得到的矩阵)

np.dot(a,b)

28.矩阵对应元素相乘(使用22,23两题得到的矩阵)

print(np.multiply(a,b))
print('========方法2========')
print(a * b) #方法2

29.计算行列式(使用21题生成的矩阵)

np.linalg.det(result)

30.矩阵求逆(使用21题生成的矩阵)

np.linalg.inv(result)

31.将22与23题生成的np.array对象修改为np.matrix对象

a = np.matrix(a)
b = np.matrix(b)

32.计算上一题生成的两个np.matrix格式矩阵的对应元素乘积(对比异同)

np.multiply(a,b)

33.对31题生成的两个np.matrix格式矩阵做矩阵乘法(对比异同)

a * b

34.将两个矩阵按照行拼接

np.hstack((a,b))

35.将两个矩阵按照列拼接

np.vstack((a,b))

36.思考下面代码运行后new的结果

new = np.pad(result,pad_width = 1,constant_values=1)

37.找到new中大于1的元素的位置

np.argwhere(new > 1)

38.将new中大于1的元素修改为9

new[new > 1] = 8
new

39.对new按列求和

np.sum(new, 0)

40.对new按行求和

np.sum(new, 1)
原文地址:https://www.cnblogs.com/qiu-hua/p/14729015.html