numpy练习(1)

本文主要介绍了numpy库的基本使用,包括数组创建、数组操作和数学函数应用,旨在帮助读者掌握numpy进行数值计算的核心功能。
02_numpy练习(创建数组).py

import numpy as np

# (1)使用单一值创建数组
# 创建具有10个元素的全0值数组
my_array1 = np.zeros((10))
print("my_array1:\n", my_array1)

# 创建2x3的全0值二维数组
my_array2 = np.zeros((2, 3))
print("my_array2:\n", my_array2)

# 创建2x3的全0值二维整数数组
my_array3 = np.zeros((2, 3), dtype=np.int)
print("my_array3:\n", my_array3)

# 创建2x3的全1值二维数组
my_array4 = np.ones((2, 3))
print("my_array4:\n", my_array4)

# 创建2x3的二维数组,每个元素值都是5
my_array5 = np.full((2, 3), 5)
print("my_array5:\n", my_array5)

# 创建3x3的二维数组,并且主对角线上元素都是1
my_array6 = np.eye((3))
print("my_array6:\n", my_array6)

# 创建mxn的二维数组,并且主对角线上元素都是1
m, n = eval(input())  # 用逗号分割,一次读入两个值存入m,n
print(m, n)
my_array7 = np.eye(m, n, k=1)  # mxn的二维数组,主对角线上元素都是1
print("my_array7:\n", my_array7)

# 创建2x3的二维数组,不指定初始值
my_array8 = np.random.random((2, 3))
print("my_array8:\n", my_array8)

# (2)从现有数据初始化数组;
# 创建5个元素的一维数组,初始化为1, 2, 3, 4, 5
my_array9 = np.array(5)
my_array9 = [1, 2, 3, 4, 5]
print("my_array9:\n", my_array9)

# 创建2x3的二维数组,用指定的元素值初始化
my_array10 = np.array([[1, 2, 3], [1, 2, 3]])
print("my_array10:\n", my_array10)

# a是mxn数组,根据a的维度生成mxn的全0值数组b
a = np.array([[1, 2, 3], [4, 2, 3], [5, 2, 3], [3, 2, 3]])
print(a.shape)
b = np.zeros(a.shape)
print("array b:\n", b)

# 以指定的主对角线元素创建对角矩阵
my_array12 = np.diag((5, 4, 3))  # 指定主对角线元素分别为5、4、3
print("my_array12:\n", my_array12)

# (3)将指定数值范围切分成若干份,形
### NumPy 练习题及答案 #### 打印当前 Numpy 版本 为了确认安装的 NumPy 库版本,可以使用如下代码: ```python import numpy as np print(np.__version__) ``` 这段代码会输出当前环境中所使用的 NumPy 的具体版本号[^1]。 #### 获取特定范围内的数组元素 对于获取一个一维数组中满足条件的子集操作,可以通过布尔索引来实现。下面的例子展示了如何选取介于5到10之间的数值(包括边界值): ```python array = np.arange(15) nums = array[(array >= 5) & (array <= 10)] ``` 这里创建了一个包含从0至14共15个连续整数的一维数组,并从中筛选出了大于等于5且小于等于10的所有元素[^2]。 #### 在二维数组中随机放置指定数量的元素 当需要在一个已知大小的二维矩阵里随机分布若干个相同或不同的值时,可采用以下函数来完成这一任务: ```python def place_elements_randomly(shape, p, value=1): ''' 在给定形状的2D数组中随机放置p个元素,默认为1 参数说明: shape: 一个元组,指定了2D数组的尺寸; p: 整数,表示要放置的元素数目; value: 要填充的目标值,缺省情况下设为1. 返回值: 修改过的2D数组对象. ''' arr = np.zeros(shape, dtype=int) all_positions = np.arange(arr.size) chosen_positions = np.random.choice(all_positions, p, replace=False) np.put(arr, chosen_positions, value) return arr ``` 此方法接收三个参数:目标数组的维度`shape`,待插入项的数量`p`以及这些项目的实际取值`value`(如果未特别指出则默认设置成1),最终返回经过更新处理的新版二维数组实例[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值