【NumPy系列】NumPy案例巩固强化

前言

大家好!我是初心,本期给大家带来的是 NumPy 案例巩固强化练习题,共17道,亲测。

一、NumPy基础训练

1.1 创建一个长度为10的一维全为0的ndarray对象,并让第5个元素为1

n1 = np.zeros(10,dtype=np.int16)
n1[4] = 1
n1

1.2 创建一个元素为从10到49的ndarray对象

n2 = np.arange(10,50)
n2

1.3 将第2题的所有元素位置反转

n2[::-1]

1.4 创建一个10*10的ndarray对象并打印最大最小元素

n4 = np.random.random((10,10))
print(np.max(n4))
print(np.min(n4))

1.5 创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0

n5 = np.zeros((10,10),dtype=np.int16)
n5[[0,9]] = 1
n5[:,[0,9]] = 1
print(n5)

1.6 创建一个每一行都是从0到4的5*5矩阵

# 首先生成一个 0-4 的列表
I = [i for i in range(5)]
# 得到一个拥有 25 个元素的一维列表
I = I * 5
# 通过列表构建 numpy 数组
n = np.array(I)
# 将数组形状变为 5*5
n = n.reshape(5,5)
# 查看n
n

1.7 创建一个范围在0-1之间的长度为12的等差数列

n7 = np.linspace(0,1,num=12)
n7

1.8 创建一个长度为10的随机数组并排序

n8 = np.random.random(10)
np.sort(n8)

1.9 创建一个长度为10的随机数组并将最大值替换为0

n9 = np.random.random(10)
n9[np.argmax(n9)] = 0
print(n9)

二、NumPy强化训练

2.1 给定一个4维矩阵,求最后两维的和

n1 = np.random.randint(1,10,(2,3,4,5)) # 四维数组
display(n1)
np.sum(n1,(2,3))
# axis = 0 表示第一个维度
# axis = 1 表示第二个维度
# axis = 2 表示第三个维度
# axis = 3 表示第四个维度

2.2 给定数组[1,2,3,4,5],在每个元素后插入3个0

n = np.arange(1,6)
display(n)
n2 = np.zeros(17,dtype=np.int16)
display(n2)
n2[::4] = n
n2

2.3 给定一个二维矩阵,交换其中两行元素

n = np.random.randint(1,10,(3,3))
display(n)
n = n[[1,0,2]] # 交换第一行和第二行
display(n)

2.4 创建一个长度为100000的随机数组,使用两种方法求3次方,并比较所用时间

n = np.random.randint(0,10,100000)
%timeit n ** 3
%timeit np.power(n,3)

2.5 创建一个5 * 3的随机矩阵和一个3 * 2的随机矩阵,求矩阵积

n1 = np.random.randint(0,10,(5,3))
n2 = np.random.randint(0,10,(3,2))
display(n1,n2)
np.dot(n1,n2)

2.6 矩阵每一行的元素都减去该行的平均值

n = np.random.randint(0,10,(3,4))
display(n)
# 行平均值
n2 = np.mean(n,axis=1).reshape(3,1)
display(n2)
n - n2

2.7 打印如下矩阵

n = np.zeros((8,8),dtype = np.int16)
display(n)
n[::2,1::2] = 1
n[1::2,0::2] = 1
display(n)

2.8 正则化一个5*5随机矩阵

n = np.random.randint(0,10,(5,5))
display(n)
min1 = np.min(n)
max1 = np.max(n)
n = (n - min1) / (max1 - min1)
display(n)

注:题目素材来自 ——《千锋教育》

结语

本期跟大家分享的就是这些题目了!希望大家可以多多实操练习,加强巩固,以便更好的掌握 NumPy 。

相关导读

文章直达链接
上期回顾【数据分析 - 基础入门之NumPy⑤】- NumPy基本操作 - 二
下期预告【数据分析 - 基础入门之pandas篇①】- pandas基础入门 - 一
  • 25
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 35
    评论
### 回答1: 《NumPy Cookbook》是一本针对NumPy库的实用指南,用于帮助用户理解和应用NumPy的功能和特性。该书包含了许多常见的问题和解决方案,涵盖了从基本操作到高级技巧的各个方面。无论是初学者还是有一定经验的用户,都可以从中获得很多有用的知识和技巧。 这本书的主要内容包括如何安装NumPy,如何创建NumPy数组,如何进行基本操作(如切片、索引和排序),以及如何进行数学运算(如加、减、乘和除)等等。此外,该书还介绍了如何使用NumPy进行统计分析、图像处理、线性代数运算和机器学习等高级应用。无论是科学计算、数据分析还是机器学习领域,NumPy都是一个非常重要和强大的工具,而本书能够帮助读者更好地使用和理解NumPy的各种功能和用法。 该书的优势之一是它提供了大量的示例代码和详细的解释,这使得读者可以更轻松地理解和应用书中的内容。此外,书中的例子都是实际问题的解决方案,这样读者可以直接将这些方法应用到自己的项目中。 总的来说,《NumPy Cookbook》是一本非常实用的书籍,适用于所有想要深入学习和应用NumPy库的人。它提供了丰富的知识和技巧,可以帮助读者更好地利用NumPy进行科学计算、数据分析和机器学习等领域的工作。无论是在学术研究还是工业应用中,这本书都是一个非常好的参考资料。 ### 回答2: "NumPy Cookbook"是一本关于NumPy库的食谱式指南,适用于人们在Python编程中使用NumPy进行科学计算和数据分析。该书以PDF格式提供,总共包含了丰富的300页内容。 在这本书中,读者可以学到如何使用NumPy进行数组操作、统计分析、数值计算、线性代数等各方面的应用。书中的示例代码和解决方案非常丰富,可以帮助读者更好地理解和掌握NumPy库的各种功能和用法。 "NumPy Cookbook"的内容分为多个章节,每个章节都涵盖了特定领域的应用案例和技术问题的解决方案。读者可以根据自己的需求选择感兴趣的章节进行学习和阅读。 这本书的优点是详细而全面地介绍了NumPy库的使用方法,无论是初学者还是有一定经验的Python用户都可以从中受益。同时,书中的示例代码也为读者提供了实践的机会,可以通过实际的案例巩固所学知识。 "NumPy Cookbook"作为一本PDF,非常便于阅读和使用。读者可以将其保存在电脑或移动设备上,随时随地进行学习。总而言之,这本书是学习和深入了解NumPy库的一份宝贵资料,对于对NumPy感兴趣的人来说绝对是一本不可多得的指南。 ### 回答3: NumPy Cookbook是一本关于NumPy库的书籍,以Python编程语言为基础。该书的主要目的是提供NumPy库的实用示例和使用技巧,以帮助开发者更好地理解和应用NumPy库。 NumPy是一个用于进行科学计算的Python库,它提供了一个强大的多维数组对象和各种工具,可以用于处理和操作大型数据集。该库还包含了许多数学函数,用于执行各种数值计算操作,如线性代数、傅里叶变换、随机数生成等。 NumPy Cookbook提供了广泛的示例和用法,涵盖了诸如数组操作、数学函数、索引和切片、广播操作、数据分析和可视化等方面。书中的示例代码可以直接使用,并且每个示例都有详细的说明和解释,可以帮助开发者更好地理解和掌握NumPy库的使用。 通过阅读NumPy Cookbook,开发者可以学习到如何高效地使用NumPy库进行科学计算和数据处理。无论是处理大量数据、进行复杂的数值计算,还是进行数据分析和可视化,这本书都提供了丰富的实例和技巧,可以帮助开发者更好地应用NumPy库。 总之,NumPy Cookbook是一本关于NumPy库的实用手册,它提供了丰富的示例和技巧,帮助开发者更好地理解和应用NumPy库,提高科学计算和数据处理的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向阳花花花花

感谢大佬支持,本人会继续努力哒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值