一、实验代码 import numpy as np data =np.array([1,2,3,4]) #max函数 print('max函数:',data.max()) #ones print('ones:',np.ones(3)) #zeros print('zeros:',np.zeros(3)) #随机函数 print('随机函数:',np.random.random(3)) data2 = np.ones(2) data1 = np.array([5,6,7,8]) #array相加 print('array相加',data1 + data) #array相乘 print('array相乘',data1 * data) # 求和 print('array求和:',data.sum()) #多维矩阵 data.shape = (2,2) print('多维矩阵:',data) #dalete函数 matrix = [ [1,2,3,4], [5,6,7,8], [9,10,11,12] ] p1 = np.delete(matrix, 1, 0) # 第0维度(行)第1行被删除(初始行为0行) print('第0维度(行)第1行被删除(初始行为0行):',p1) p2 = np.delete(matrix, 1, 1) # 第1维度(列)第1行被删除 print('第1维度(列)第1行被删除:',p2) p3 = np.delete(matrix, 1) # 拉平后删除第1个元素(初始为第0个) print('拉平后删除第1个元素(初始为第0个):',p3) p4 = np.delete(matrix, [0,1], 1) # 第1维度(列)第0、1行被删除 print('第1维度(列)第0、1行被删除:',p4)
#insert q1 = np.insert(matrix, 1, [1,1,1,1], 0) # 第0维度(行)第1行添加[1,1,1,1] print('>>>>q1>>>>\n',q1) q2 = np.insert(matrix, 0, [1,1,1], 1) # 第1维度(列)第0列添加1,1,1 print('>>>>q2>>>>\n',q2) q3 = np.insert(matrix, 3, [1,1,1,1], 0) # 第0维度(行)第3行添加[1,1,1,1] print('>>>>q3>>>>\n',q3)
#np.random.choice(a, size, replace, p)
#其作用是按要求生成一个一维数组 a是生成一维数组的来源,可以是int类型,可以是数组,也可以是list size 数组的维度replace 表示从a中是否不重复抽取,默认可重复 p 给出抽取概率,默认随机 注意 :这里是围绕数组展开的,如果提取的也是list,可以用 from random import choice 的 choice,可用 from random import sample 随机抽取一组元素
a1 = np.random.choice(7, 5) # 从0~7中随机选择5个数组成一维数组 a1 array([3, 1, 0, 1, 4]) a2 = np.random.choice([0, 1, 2, 3, 4, 5, 6], 5) # 从给定list中随机选择5个数组成一维数组 a2 array([1, 6, 6, 6, 4]) a3 = np.random.choice(np.array([0, 1, 2, 3, 4, 5, 6]), 5) # 将list换成array数组依然可以运行,效果一致 a3 array([3, 0, 5, 5, 3]) a4 = np.random.choice([0, 1, 2, 3, 4, 5, 6], 5, replace=False) # 上述均有重复,将replace设置为False,即可按要求没有重复的选取 a4 array([0, 4, 3, 6, 5]) a5 = np.random.choice(np.array([0, 1, 2, 3, 4, 5, 6]), 5, p=[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.4]) print('a1:',a1) print('a2:',a2) print('a3:',a3) print('a4:',a4) print('a5:',a5)
#append
matrix = [ [1,2,3,4], [5,6,7,8], [9,10,11,12] ] m1 = np.append(matrix,[[1,1,1,1]],axis=0) # 第0维度(行)尾部添加[[1, 1, 1, 1]], 注意两个[], 相同维度 print('>>>>m1>>>>', m1) m2 = np.append(matrix, [[1], [1], [1]], axis=1) # 第1维度(列)尾部添加[[1], [1], [1]], 注意两个[], 相同维度 print('>>>>m2 >>>>', m2) m3 = np.append(matrix, [1, 1, 1, 1]) # 拉平后再尾部添加[1, 1, 1, 1],这里可以[[1, 1, 1, 1]]和[1, 1, 1, 1]均可 print('>>>>m3 >>>>', m3)
二、实验截图:
竖直与水平拆分: