前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NumPy进阶修炼|矩阵操作20题

NumPy进阶修炼|矩阵操作20题

作者头像
刘早起
发布2020-06-29 14:35:50
4530
发布2020-06-29 14:35:50
举报
文章被收录于专栏:早起Python早起Python早起Python

大家好,又到了NumPy进阶修炼专题,其实已经断更很久了,那么在本文正式发布题目之前,先说下改动的地方,在以前的Pandas120题NumPy热身20题中,我都是将我的答案附在每一题的后面?

这种形式的题目对于读者来说,尤其是新手朋友们,很容易被我的思路带进去,实际上不论我的pandas还是numpy的习题,每一题都有多种解法,并且我的解法有时也并不是最佳方法,所以为了让大家多一点自己思考的时间,在numpy以及后面的其他系列习题中,我将换一种方式整理习题?

就像上图一样,我将同时发布两个Notebook版本习题,一份习题单独版,一份带有我的答案的单独版本,大家可以先试着在只有习题的版本中思考,写代码,并与我的答案对比,也欢迎给我提交不一样的答案!

好了,废话不多说,我们来看今天的20题,主要将涉及到用NumPy对矩阵的一些操作

21 数据创建

题目:创建主对角线都是5的5x5矩阵

难度:⭐

答案

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

22 数据修改

题目:交换第一列与第二列

难度:⭐⭐

答案

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

23 数据修改

题目:交换第一行与第二行

难度:⭐⭐

答案

result[result % 2 == 1] = 666

24 数据查看

题目:判断两个矩阵是否有任何元素不同

难度:⭐⭐

答案

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

25 数据计算

题目:计算两个矩阵不同元素的个数

难度:⭐⭐

答案

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

26 数据查看

题目:找到两个矩阵不同元素的位置

难度:⭐⭐

答案

np.argwhere(a != b)

27 数据计算

题目:对a和b做矩阵乘法

难度:⭐⭐

答案

np.dot(a,b)

28 数据计算

题目:计算a和b对应元素相乘

难度:⭐⭐

答案

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 数据计算

题目:将ab两个矩阵按照行拼接

难度:⭐⭐

答案

np.hstack((a,b))

35 数据计算

题目:将ab两个矩阵按照列拼接

难度:⭐⭐

答案

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的元素修改为8

难度:⭐⭐

答案

new[new > 1] = 8

39 数据计算

题目:对new矩阵按列求和

难度:⭐⭐

答案

np.sum(new, 0)

40

数据计算

题目:对new矩阵按行求和

难度:⭐⭐

答案

np.sum(new, 1)

以上就是本期20题的全部内容,你可以在后台回复NumPy来获取Notebook的两种版本习题练习,其实NumPy中的操作没有Pandas中的多变,所以全部大概在100题左右,差不多已经整理完毕。本文主要目的就是说一下新版的变化,如果你也喜欢这种形式的习题可以给我点个在看,我们下期见。

注:我未授权任何人在微信公众号之外的平台发布Pandas和NumPy系列文章,但近期在其他网站发现有人搬运相关习题甚至标记为原创,如有读者发现这种情况可以点击举报并联系我,希望大家能够尊重原创,谢谢!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 早起Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档