21.创建主对角线都是5的5x5矩阵
result = np.diag([5,5,5,5,5]) result
22.交换第一列与第二列
a = result[:,[1,0,2,3,4]] a
23.交换第一行与第二行
b = result[[0,1,2,3,4],:] b
23.提取一三行,合并成一个小矩阵
result[[0,2]]
23.提取一三行,并将剩余行合并成一个小矩阵
result[[0,2]] result = result[[1,3,4]] result
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(a * b)
29.计算行列式(使用21题生成的矩阵)
np.linalg.det(result)
30.矩阵求逆(使用21题生成的矩阵)
np.linalg.inv(result)
31.将22与23题生成的np.array对象修改为np.matrix对象
a = np.matrix(a) a
b = np.matrix(b) 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) new
37.找到new中大于1的元素的位置
np.argwhere(new > 1)
38.将new中大于1的元素修改为9
new[new > 1] = 9 new
39.对new按列求和
np.sum(new,0)
40.对new按行求和
np.sum(new,1)
题目由老师提供,答案由本人结合书籍与网络答案整理完成,仅用于学习交流,如有雷同的侵权事件请联系本人删除,谢谢配合!
NumPy进阶修炼80题 (二)NumPy 基本矩阵操作与运算
最新推荐文章于 2023-04-16 08:27:26 发布