1、数组的组合
arr1 = np.arange(9).reshape((3, 3))
arr2 = np.array([[0, 1, 0], [1, 0, 1], [2, 1, 0]])
创建两个二维数组
res = np.hstack((arr1, arr2)) # 水平拼接,在列的方向拼接 res = np.vstack((arr1, arr2)) # 垂直拼接,在行的方向拼接
使用hstack()方法可对数组进行水平拼接,使用vstack()方法可对数组进行垂直拼接
# axis=0 在第0 个维度上进行拼接 res = np.concatenate((arr1, arr2), axis=0) # axis=1 在第1 个维度上进行拼接 res = np.concatenate((arr1, arr2), axis=1)
使用concatenate()方法可设置数组在某个指定维度上进行拼接,多维数组中,从外往内数维度越高
2、数组的拆分
arr = np.arange(16).reshape((4, 4))
创建一个二维数组
res = np.hsplit(arr, 2) # 水平拆成2部分 res = np.vsplit(arr, 2) # 垂直拆成2部分 res = np.vsplit(arr, 5) # 错误的,不能整除,所以不能拆分
使用hsplit()方法或vsplit()方法对数组进行水平或垂直方向的拆分,参数1为要拆分的数组,参数2为拆分的份数,必须拆分成能平均分配的份数,否则将会报错
res = np.split(arr, 2, axis=0)
res = np.split(arr, 2, axis=1)
使用split()方法对数组进行拆分,可用axis属性指定数组拆分的维度