关于numpy计算库的简单练习
·
import numpy as np
import time
np.random.seed(3)
# 1. 随机生成在10-20之间三维整数型数组m。并求出所有元素的和
# 输出(1)中数组每一列元素的最小值
# 输出(1)中数组每一行的平均数
arr1=np.random.randint(10,21,size=(2,3,4))
print(arr1)
print('总和为:',np.sum(arr1))
print("每一列最小值",np.min(arr1,axis=1))
print("每一行的平均数",np.mean(arr1,axis=2))
# 2. 生成3行2列的全零数组b
#
arr_b=np.zeros((3,2))
print(arr_b)
# 3. 随机生成一个二维数组 a,大小为 4 行 6 列,元素为 0 到 99 的随机整数
# 输出(3)中数组的数据类型、维数、形状、元素总个数
arr_3=np.random.randint(0,100,size=(4,6))
print("数据类型",arr_3.dtype)
print('维数:',arr_3.ndim)
print('形状:',arr_3.shape)
print('元素总个数',arr_3.size)
# 4. 定义一个NumPy一维数组 d,元素为 1 到 10 的整数
# 获取(4)中数组d中间位置的元素,范围为第 4 个到第 7 个(索引从 0 开始计数)
# 获取(4)数组d中所有偶数位置的元素(从索引 1 开始,步长为 2)
arr_4=np.array([x for x in range(1,11)])
print(arr_4)
print(arr_4[3:7])
print(arr_4[1:10:2])
#
# 5. 将一个有12个元素的一维整数数组,使用reshape方法将形状改为(2, 2, 3)
arr_5=np.random.randint(0,20,size=12)
print(arr_5)
print(arr_5.reshape(2,2,3))
# 6. 使用广播机制将一个形状为 (3, 1) 的数组与一个形状为 (3, 4) 的数组相乘。
# 对(6)题中计算结果进行一维度展开,并排序。
arr_6_1=np.random.randint(0,5,size=(3,1))
arr_6_2=np.random.randint(0,5,size=(3,4))
print('6')
a_6=arr_6_2*arr_6_1
print(a_6)
print(np.ravel(a_6))
print('-'*31)
print("文件作业:")
# 1.生成一个2行3列随机整数二维数组a
arr1=np.random.randint(0,10,(2,3))
print(arr1)
# 2.使用Numpy方法对(1)中数组a进行整体求积
print('整体数组求积:',np.prod(arr1))
# 3.使用Numpy方法对(1)中数组a进行求每列最大值索引
print('每列最大值',np.argmax(arr1,axis=0))
# 4.定义一个NumPy一维数组 b,元素为 1 到 10 的整数
arrb_4=np.array([x for x in range(1,11)])
print(arrb_4)
# 5.获取(4)数组b中最后五个元素并以倒序的形式输出
print(arrb_4[len(arrb_4):len(arrb_4)-6:-1])
# 6.获取(4)数组b中第三个元素到最后一个元素的每两个元素(步长为 2)
print(arrb_4[3::2])
# 7.随机生成一个一维数组 d,大小为 19,元素为 0 到 199 的随机整数。
arrd_7=np.random.randint(0,200,19)
print(arrd_7)
# 8.输出(7)中数组 d 的数据类型、维数、形状、元素总个数。
print(f"数据类型为:{arrd_7.dtype}\n维数为:{arrd_7.ndim}\n形状为:{arrd_7.shape}\n元素总个数为:{arrd_7.size}")
# 9.生成一个范围在 11-21 之间,具有 2 行 3 列的随机浮点数数组。
arr_9=np.random.uniform(11,22,(2,3))
print(arr_9)
# 10.创建一个 4 行 5 列的全零数组并输出。
arr_10=np.zeros((4,5))
print(arr_10)
# 11.创建一个 5 行 2 列的全一数组并输出。
arr_11=np.ones((5,2))
print(arr_11)
# 12.使用 NumPy 创建一个包含 8 个整数的数组,每个整数为 4。
arr_12=np.full(8,4)
print(arr_12)
# 13.创建一个形状为 (6, 4) 的二维数组,所有元素均为 6。
arr_13=np.full((6,4),6)
print(arr_13)
# 14.创建一个形状为 (3, 4) 的随机浮点数数组,数组元素在 0-4 之间。
arr_14=np.random.uniform(0,4,(3,4))
print(arr_14)
# 15.创建一个形状为 (4, 3, 2) 的全一三维数组。
arr_15=np.ones((4,3,2))
print(arr_15)
# 16.创建一个 6 行 3 列,均值为 110 的正态分布二维数组。
arr_16=np.random.normal(110,1,(6,3))
print(arr_16)
# 17.生成一个 1 到 35 之间具有 18 个元素的等差整数数组。
arr_17=np.linspace(1,35,18,dtype=int)
print(arr_17)
# 18.生成一个 6 行 2 列的二维数组,输出第二列的所有元素。
arr_18=np.random.randint(1,20,(6,2))
print(arr_18)
print(arr_18[:,1])
# 19.创建一个形状为(2, 3)的NumPy数组,使用fill方法将所有元素填充为值-1 ,输出数组。
arr_19 = np.full((2,3),-1)
print(arr_19)
# 20.将一个 3 行 3 列的二维数组中所有大于 70 的元素设置为 5。
arr_20=np.random.randint(60,100,(3,3))
print(arr_20)
arr_20[arr_20>70]=5
print(arr_20)
# 21.将一个有 15 个元素的一维整数数组,变形为 3 行 5 列的二维数组。
arr_21=np.random.randint(1,11,15)
print(arr_21)
arr_21.resize((3,5))
print(arr_21)
# 22.将一个 2 行 7 列的二维整数数组展平为一维数组并输出。
arr_22=np.random.randint(1,11,(2,7))
print(arr_22)
print(arr_22.ravel())
# 23.生成一个0-20之间具有11个元素的随机整数数组,使用NumPy的sort函数对数组进行排序并输出。
arr_23=np.random.randint(0,21,11)
print(arr_23)
print(np.sort(arr_23))
# 24.请使用NumPy的full函数创建一个形状为(3, 4)的二维数组,其中所有元素都填充为数字7,并将这个数组命名为arr。然后输出数组arr。
arr=np.full((3,4),7)
print(arr)
# 25.请创建一个形状为(5,)的一维数组,所有元素均为 2,数据类型为int,并输出它。
arr_25=np.full(5,2)
print(arr_25)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)