numpy:数组的组合与拆分

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属性指定数组拆分的维度

猜你喜欢

转载自www.cnblogs.com/xmcwm/p/11833051.html