1 import numpy as np 2 3 # 创建一个数组 4 arr = np.arange(16) 5 print("arr:\n", arr) 6 print("arr的形状:", arr.shape) 7 8 # 创建数组的时候不一定能指定其形状 9 # 创建好之后,可以进行形状的修改 10 11 # 可以通过shape属性改变形状,元素个数得一致 12 13 arr.shape = (4, 4) 14 arr.shape = 4, 4 15 arr.shape = [4, 4] 16 # arr.shape = (2, 4) # 错误,元素个数不同,不能进行形状更改 17 print("改变形状") 18 print(arr) 19 # reshape也可以修改数组的形状 20 # reshape会返回一个新的数组 21 arr = arr.reshape((2, 8)) 22 print(arr) 23 print("arr形状修改之后的结果:", arr.shape) 24 25 # 创建一个高维数组 26 arr = np.arange(16).reshape((4, 4)) 27 arr = arr.reshape((-1,1)) # 二维,一列,-1占位 28 print("arr:\n", arr) 29 print("arr的形状:", arr.shape) 30 31 # 假设高位数组是一个样本——将这个高维数组变成一行 32 # 高维数组的展开 33 res = arr.flatten(order='C') # 按行展开 34 res = arr.flatten(order='F') # 按列展开 35 res = arr.ravel() # 默认按行展开 36 res = arr.ravel(order='F') # 按列展开 37 38 print("res 数组展开的结果:", res)