第六讲练习
创建 2*2 的数组arr1 元素自定义,两种方法
#创建 2*2 的数组arr1 元素自定义
arr_1 = np.arange(4)
arr1 = arr_1.reshape(2,2)#使用reshape,注意reshape不会改变原数组,方法1
arr1 = arr_1.reshape(2,-1)#也是方法1,-1为维度根据数据判断(负数就行)
arr1 = np.array([[0,1],[2,3]])#正常创造,方法2
创建 223 的数组arr2 元素自定义,查看arr2的维度以及形状,还是上面一样两种方法。将arr2转为1维,三种方法
#创建 223 的数组arr2 元素自定义,查看arr2的维度以及形状, 将arr2转为1维
arr_2 = np.arange(12)
arr2 = arr_2.reshape(2,2,3)
arr2 = arr_2.reshape(2,2,-1)
arr2 = np.array([[[1,1,2],[3,4,5]],[[6,7,8],[9,10,11]]])
print(arr2.ndim,arr2.shape)
arr2_1d = arr2.reshape(arr2.shape[0]*arr2.shape[1]*arr2.shape[2])#不会改变原数组
arr2_1d = arr2.flatten()#不会改变原数组
arr2_1d = arr2.ravel()#不会改变原数组
print(arr2_1d)
将arr1进行转置,三种方法
# 将arr1进行转置
arr1 = np.arange(4).reshape(2,-1)
arr1_T = arr1.transpose()
arr1_T = arr1.T
arr1_T = arr1.swapaxes(1,0)#交换轴
arr1_T
#生成 4*4 全为1的数组 arr3,用了4种方法。生成单位矩阵,两种方法
#生成 4*4 全为1的数组 arr3,生成单位矩阵
# arr3 = np.array([random.randint(1,1) for i in range(16)])
arr3 = np.array([1 for i in range(16)])
arr4 = arr3.reshape(4,4)
arr4 = np.ones((4,4))
arr4 = np.full((4,4),1)
arr_3 = np.arange(16).reshape(4,4)
arr4 = np.ones_like(arr_3)
print(len(arr3),arr4,arr4.ndim,arr4.shape)
# arr5 = np.identity(5)#生成单位矩阵
arr5 = np.diag([1,1,1,1,1])#将括号里面的数据填入到对角线
print(arr5,arr5.ndim,arr5.shape)