python&numpy十四: 关于numpy的基础练习

下面是一些关于NumPy的练习题以及答案:

题目:

1.创建一个长度为10的一维零数组,并将第五个元素设置为1。

2.创建一个大小为5x5的二维数组,其中边界上的元素值为1,其余元素值为0。

3.给定一个一维数组,将所有大于5的元素替换为5。

4.给定一个一维数组,将所有奇数索引位置的元素取相反数。

5.创建一个大小为10的随机数组,并找到其中的最大值和最小值。

答案:

练习1:

创建一个长度为10的一维零数组,并将第五个元素设置为1。

复制代码
import numpy as np

arr = np.zeros(10)
arr[4] = 1

print(arr)

输出结果:[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]

练习2:

创建一个大小为5x5的二维数组,其中边界上的元素值为1,其余元素值为0。

复制代码
import numpy as np

arr = np.zeros((5, 5))
arr[0, :] = 1
arr[-1, :] = 1
arr[:, 0] = 1
arr[:, -1] = 1

print(arr)

输出结果:

复制代码
[[1. 1. 1. 1. 1.]
 [1. 0. 0. 0. 1.]
 [1. 0. 0. 0. 1.]
 [1. 0. 0. 0. 1.]
 [1. 1. 1. 1. 1.]]

练习3:

给定一个一维数组,将所有大于5的元素替换为5。

复制代码
import numpy as np

arr = np.array([1, 8, 2, 6, 4, 10, 12, 3])
arr[arr > 5] = 5

print(arr)

输出结果:[1 5 2 5 4 5 5 3]

练习4:

给定一个一维数组,将所有奇数索引位置的元素取相反数。

复制代码
import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[1::2] = -arr[1::2]

print(arr)

输出结果:[ 1 -2 3 -4 5 -6 7 -8 9]

练习5:

创建一个大小为10的随机数组,并找到其中的最大值和最小值。

复制代码
import numpy as np

arr = np.random.rand(10)
max_val = np.max(arr)
min_val = np.min(arr)

print("Array:", arr)
print("Max value:", max_val)
print("Min value:", min_val)

输出结果类似:

复制代码
Array: [0.69663739 0.33775502 0.75378663 0.57768405 0.28549115 0.43134244
 0.55627119 0.49357289 0.21644175 0.73342044]
Max value: 0.7537866275861615
Min value: 0.21644175382993298

希望这些练习对你有帮助!你可以使用这些练习来巩固对NumPy的理解和应用。

相关推荐
谢白羽22 分钟前
SGLang的AWQ量化笔记
笔记·python·sglang
sakiko_42 分钟前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift
迷迭香yy1 小时前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
清水白石0081 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
晊晌_h1 小时前
嵌入式从0到精通——线程
java·开发语言·jvm
一木 之林1 小时前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++
️学习的小王2 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
OPEN-F2 小时前
C++11/14新特性精讲:移动语义与智能指针实战
开发语言·c++·算法
小灰灰搞电子2 小时前
Rust+Slint 实现动态轮播图源码分享,支持动态删除、添加
开发语言·rust·slint·动态轮播图
前端 贾公子2 小时前
第09章:上下文与记忆 (6)
开发语言·前端·python