具体语句被我封装为注释,可通过该程序简单了解 numpy 模块 若无法运行,可检查是否安装 numpy 模块 import numpy """ print(numpy.random.rand(10, 5)) # 生成十行五列的二维数组,取值范围(0, 1) print(numpy.random.randn(5)) # 生成一维的正态分布随机数 print(numpy.random.randn(2, 5)) # 生成二维的正态分布随机数 print(numpy.random.randn(3, 5)) # 生成多维的正态分布随机数 print(numpy.random.randint(2, 10, size=[2, 5])) # 生成给定上下范围的随机数,创建一个 2 <= 元素 < 10 的2行5列二维数组。 print(numpy.arange(0, 10, 1)) # 创建一个数组,从0开始,小于10,步长为1。 print(numpy.linspace(0, 3, 13)) # 创建一个数组,取值范围为[0, 3],且均匀分为13-1等分 """ """ print(numpy.zeros((2, 3))) # 创建一个二行三列的二维数组,元素全为0。 print(numpy.ones((5, 3))) # 创建一个五行三列的二维数组,元素全为1。 print(numpy.eye(5)) # 创建一个五行五列的单位数组。对角线为1,其余为0。 print(numpy.diag([1, 2, 3, 4])) # 创建一个主对角线分别为 1,2,3,4的数组,其余元素为0 """ """ arr = numpy.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]) print(arr) print(arr[0, 3]) # 索引第0行第3列的元素,类比数组 print(arr[0:3:2, 2:5:2]) # 取值可类比插片 """ """ brr = numpy.arange(12) print(brr.reshape(3, 4)) # 设置数组形状,三行四列。 brr.shape = 3, 4 # 可直接修改形状 print(brr) brr.shape = 4, -1 # -1 代表自动计算 print(brr) print(brr.ravel()) # 展平 print(brr.flatten()) # 横向展平 print(brr.flatten('F')) # 纵向展平 """ """ brr = numpy.arange(12) brr_2 = brr * 3 # 数组元素集体*3 print(brr_2) print(numpy.hstack((brr, brr_2))) # 横向组合,由两个三行四列的数组组合为三行八列的数组 print(numpy.vstack((brr, brr_2))) # 纵向组合,由两个三行四列的数组组合为六行四列的数组 print(numpy.concatenate((brr, brr_2), axis=1)) # concatenate函数横向组合 print(numpy.concatenate((brr, brr_2), axis=0)) # concatenate函数纵向组合 """ """ arr = numpy.arange(12).reshape(4, 3) print(arr) print(numpy.hsplit(arr, 3)) # hsplit 函数横向分割(类比横向组合) print(numpy.vsplit(arr, 2)) # vsplit 函数纵向分割(类比纵向组合) arr_1, arr_2 = numpy.vsplit(arr, 2) print(arr_1) print(arr_2) print(numpy.split(arr, 3, axis=1)) # split 函数横向分割 print(numpy.split(arr, 2, axis=0)) # split 函数纵向分割 """ """ mat_1 = numpy.mat("1 2 3;4 5 6;7 8 9") # 使用分号隔开数据,创建矩阵 print(mat_1) mat_2 = numpy.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(mat_2) arr1 = numpy.eye(3) arr2 = 3 * arr1 print('创建的矩阵为:\n', numpy.bmat("arr1 arr2; arr1 arr2")) print('创建的矩阵为:\n', numpy.bmat("arr1 arr2")) # 类比于横向组合 print('创建的矩阵为:\n', numpy.bmat("arr1; arr2")) # 类比于纵向组合 """ """ mat_1 = numpy.mat("1 2 3;4 5 6;7 8 9") print('创建的矩阵1为:\n', mat_1) mat_2 = mat_1 * 3 print('创建的矩阵2为:\n', mat_2) mat_3 = numpy.mat("1 2 3;5 5 7;7 2 9") print('创建的矩阵3为:\n', mat_3) print('矩阵1的转置矩阵为:\n', mat_1.T) # 矩阵转置 print('矩阵3的逆矩阵为:\n', mat_3.I) # 矩阵的逆 print('矩阵相加结果为:\n', mat_1 + mat_2) # 矩阵相加 print('矩阵相减结果为:\n', mat_1 - mat_2) # 矩阵相减 print('矩阵相乘结果为:\n', mat_1 * mat_2) # 矩阵相乘 print("矩阵点乘结果为:\n", numpy.dot(mat_1, mat_2)) # 矩阵点乘 print('矩阵对应元素相乘结果为:\n', numpy.multiply(mat_1, mat_2)) """ """ # 四则运算 x = numpy.array([1, 2, 3]) y = numpy.array([4, 5, 6]) print('数组相加结果为:', x + y) # 数组相加 print('数组相减结果为:', x - y) # 数组相减 print('数组相乘结果为:', x * y) # 数组相乘 print('数组相除结果为:', x / y) # 数组相除 print('数组幂运算结果为:', x ** y) # 数组幂运算 # 比较运算 x = numpy.array([1, 3, 5]) y = numpy.array([2, 3, 4]) print('数组比较结果为:', x < y) print('数组比较结果为:', x > y) print('数组比较结果为:', x == y) print('数组比较结果为:', x >= y) print('数组比较结果为:', x <= y) print('数组比较结果为:', x != y) # 逻辑运算 print('数组逻辑运算结果为:', numpy.all(x == y)) # np.all()表示逻辑and print('数组逻辑运算结果为:', numpy.any(x == y)) # np.any()表示逻辑or print(x[x>2]) # 取出 x 中大于 2 的元素 """ """ b = numpy.array(([1, 2, 3], [4, 5, 6], [7, 8, 9])) print(numpy.sin(b)) # 三角函数 print(numpy.round(numpy.sin(b))) # 四舍五入 """ """ a = numpy.arange(0, 10).reshape(2, 5) print(a) print(numpy.sum(a)) # 数组各元素总和 print(numpy.sum(a, axis=1)) # 每行求和 print(numpy.sum(a, axis=0)) # 每列求和 print(numpy.average(a, axis=1)) # 每行求平均值 print(numpy.average(a, axis=0)) # 每列求平均值 print(numpy.std(a)) # 标准差 print(numpy.std(a, axis=1)) # 行标准差 print(numpy.std(a, axis=0)) # 列标准差 print(numpy.var(a)) # 方差 print(numpy.max(a)) # 最大值 print(numpy.max(a, axis=1)) # 行最大值 print(numpy.max(a, axis=0)) # 列最大值 a = [[0, 6, 7, 3, 4], [5, 1, 2, 9, 8]] print(numpy.sort(a, axis=1)) # 行排序(由小到大) print(numpy.sort(a, axis=0)) # 列排序(由小到大) """ """ x = numpy.random.rand(10) * 50 # 生成一行10列数组,数组元素 * 50 print(x) print(numpy.array([t-int(t) for t in x])) # 获取小数部分 y = numpy.random.randint(0, 10, size=(1, 10)) print(y) print(numpy.piecewise(y, [y < 7, y > 4], [lambda t: t * 2, lambda t: t * 3])) # 小于7的数乘2,大于4的数乘3 """
使用numpy进行生成数组、数组运算、数组元素访问、矩阵转置、矩阵不同维度上元素的均值计算、矩阵不同维度上元素的排序、计算数据的标准差和方差、产生正态分布随机数的二维数组等操作。
于 2022-06-19 23:49:47 首次发布