import numpy as np # 导入 numpy 库包 并 更名为 np
1. 创建一个元素为从10到49的ndarray对象d1;
d1 = np.arange(10,50) # 使用 arange(左闭右开) 函数 arange(start,end,step)
d1
2. 创建一个范围在(0,1)之间的长度为12的等差数列;
np.linspace(0,1,12,retstep=True) # 使用 linspace() 函数 linspace(start, end, num=num_points, endpoint=False, retstep=True,axis=0,dtype=int)
3. 从数组np.arange(15)中提取5到10之间的所有数字
np.arange(15)[5:11] # 索引 + 切片 的方式 [5 开始 : 11 结束(开区间)] 表示为 5 至 10 的所有数
4. 创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0;
for 循环方式
arr = np.ones((10,10)) # 利用 ones() 函数创建好 全是 1 的 10*10 的arr
for i in range(1,len(arr)-1): # 索引是从 0 开始 因此从 1 到 arr 的长度 -1 结束 控制行
for ii in range(1,len(arr[0])-1): # 控制列
arr[i][ii] = 0 #通过索引取值 替换
print(arr)
索引-切片 方式
arr = np.ones((10,10)) # 利用 ones() 函数创建好 全是 1 的 10*10 的arr
arr[1:9,1:9] = 0 # [1 : 9 , 1 : 9] 第一对 1:9 控制行 第二对 1:9 控制列
print(arr)
5. 将d1的所有元素位置反转;
方式一、函数方式
dd1 = list(d1) # 把 arr 转换为 list
dd1.reverse() # 使用 reverse() 反转函数
dd1
方式二、索引 + 切片 方式
d1[::-1] # 索引 + 切片方式
6. 使用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素;
方式一
arr2 = np.random.random((10,10)) # 创建 10*10 的随机数组
lsarr = list(arr2.reshape(-1)) # 转换为一维数组且转换为列表
print("最大值:",max(lsarr)) # max() 函数最大值
print
print("最小值:",min(lsarr)) # min() 函数最小值
方式二
lis = []
for i in arr2: # 遍历 arr2
for ii in range(len(i)): # 通过索引的方式取元素
lis.append(i[ii]) # 把单个元素加进 lis 列表里 (一维)
print("最大值:",max(lis)) # max() 函数最大值
print
print("最小值:",min(lis)) # min() 函数最小值
7. 创建一个长度为10的随机数组并排序
ran = np.random.rand(10) # 生成长度为 10 的随机数组
ran.sort() # 使用 sort() 函数进行排序
ran