np.show_config() # 打印numpy的版本和配置说明 print(np.__version__) # 打印numpy版本 array_zeros = np.zeros(10) # 创建一个长度为10的0向量 np.info(np.add) # 从命令行得到numpy中add函数的说明文档? array_zeros = np.zeros(10) array_zeros[4] = 1 # 创建一个长度为10并且除了第五个值为1的空向量 array_ranges = np.arange(10, 50) # 创建一个值域范围从10到49的向量 array_ranges = array_ranges[::-1] # 反转一个向量(第一个元素变为最后一个) matrix_range = np.arange(9).reshape((3, 3)) # 创建一个 3x3 并且值从0到8的矩阵 array = [1,2,0,0,4,0] index = np.nonzero(array) # 找到数组[1,2,0,0,4,0]中非0元素的位置索引 matrix = np.eye(3) print(matrix) # 创建一个 3x3 的单位矩阵 array = np.random.randn(3,3,3) print(array) # 创建一个 3x3x3的随机数组 matrix = np.random.random((10, 10)) print(matrix.max(),matrix.min()) # 创建一个10x10的随机矩阵并找到其最小值和最大值 array = np.random.random(30).mean() # 创建一个长度为30的随机数组并取其平均值 matrix = np.ones((10,10)) matrix[1:-1,1:-1] = 0 print(matrix) # 创建二维数组,边界值为1,其余值为0 matrix = np.arange(100).reshape((10, 10)) matrix = np.pad(matrix, pad_width=1, mode="constant", constant_values=0) matrix——表示需要填充的数组; pad_width——表示每个轴(axis)边缘需要填充的数值数目。 参数输入方式为:((before_1, after_1), … (before_N, after_N)), 其中(before_1, after_1)表示第1轴两边缘分别填充before_1个和after_1个数值。取值为:{sequence, array_like, int} mode——表示填充的方式(取值:str字符串或用户提供的函数),总共有11种填充模式; ‘constant’——表示连续填充相同的值,每个轴可以分别指定填充值,constant_values=(x, y)时前面用x填充,后面用y填充,缺省值填充0 ‘edge’——表示用边缘值填充 ‘linear_ramp’——表示用边缘递减的方式填充 ‘maximum’——表示最大值填充 ‘mean’——表示均值填充 ‘median’——表示中位数填充 ‘minimum’——表示最小值填充 ‘reflect’——表示对称填充 ‘symmetric’——表示对称填充 ‘wrap’——表示用原数组后面的值填充前面,前面的值填充后面 print(matrix) # 对于一个存在的数组,用0填充边界 print(0*np.nan) # nan print(np.nan == np.nan) # False print(np.inf>np.nan) # False print(np.nan-np.nan) # nan print(0.3 ==3*0.1) # False matrix = np.diag(1+np.arange(4),k =-1) # 在np.diag(array) 中 # array是一个1维数组时,结果形成一个以一维数组为对角线元素的矩阵 # array是一个二维矩阵时,结果输出矩阵的对角线元素 # k为控制沿着对角线上下移动参数 # 创建5x5矩阵,并且设置值1,2,3,4落在其对角线下方位置 # 创建一个8x8的矩阵 并设置为棋盘格式 matrix = np.zeros((8, 8)) matrix[1::2,::2] = 1 matrix[::2,1::2] = 1 # 创建一个8x8的矩阵 并设置为棋盘格式 print(np.unravel_index(100,(6,7,8))) 而 order由两种取值:“C”,“F”,“C”表示的是以横坐标为基准;“F”表示的是以纵坐标为基准。 # (6,7,8)形状数组第100号元素下标 matrix = np.tile(np.array([[0,1],[1,0]]),(4,4)) # 在numpy中,np.tile(matrix,(m,n))函数的作用就是将函数将矩阵沿着X,y轴扩大m,n倍。如果扩大倍数只有一个,默认为X轴 # 使用tile函数创建8x8的棋盘样式矩阵 matrix = np.random.random((5,5)) matrix_min = matrix.min() matrix_max = matrix.max() matrix_normalization = (matrix-matrix_min)/(matrix_max-matrix_min) # 对5x5随机矩阵进行归一化使用Rescaling (min-max normalization) color = np.dtype([("r",np.ubyte,1),("g",np.ubyte,1),("b",np.ubyte,1),("a",np.ubyte,1)]) print(color) 自定义颜色类型(失败) matrix_1 = np.arange(15).reshape((5,3)) matrix_2 = np.arange(6).reshape((3,2)) result_1 = matrix_1.dot(matrix_2) result_2 = np.matmul(matrix_1,matrix_2) print(result_1,"\n",result_2) # 矩阵相乘 array = np.arange(16) array[3:9] = array[3:9]*-1 print(array) # plan b array[(array>3) & (array<=8)] *=-1 print(array) # 将数组3-8号元素取反 print(sum(range(5),-1)) # 0+1+2+3+4-1