数组拼接
arr1 = np.array([[1, 2, 3],[4, 5, 6]]) arr2 = np.array([[7, 8, 9],[10, 11, 12]]) #拼接方法一:np.concatenate() x= np.concatenate((arr1, arr2),axis= 0) #上下拼接 y= np.concatenate((arr1,arr2), axis= 1) #左右拼接 #拼接方法二:np.vstack()和np.hstack() x= np.vstack((arr1, arr2)) #上下拼接 y= np.hstack((arr1, arr2)) #左右拼接 #拼接方法三:np.r_ 和np.c_ x= np.r_[arr1, arr2] #上下拼接 y= np.c_[arr1, arr2] #左右拼接
[[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]] [[ 1 2 3 7 8 9] [ 4 5 6 10 11 12]]
数组裁剪
arr = np.array([[1, 2, 3, 4],[ 5, 6, 7, 8],[9, 10, 11, 12],[13, 14, 15, 16]]) arr1, arr2, arr3 =np.split(arr, [1, 3],axis= 0) #在0,1之间和2,3之间将数组裁成3份 #省略print语句
[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] arr1: [[1 2 3 4]] arr2: [[ 5 6 7 8] [ 9 10 11 12]] arr3: [[13 14 15 16]]
重复
1、一维数组重复
arr = np.array([1, 2, 3, 4]) x = arr.repeat(3) y = arr.repeat([1,2,3,4])
arr: [1 2 3 4] x: [1 1 1 2 2 2 3 3 3 4 4 4] y: [1 2 2 3 3 3 4 4 4 4]
二维数组重复
arr = np.array([[1, 2, 3, 4],[ 5, 6, 7, 8]]) x = arr.repeat(2,axis=0)
arr: [[1 2 3 4] [5 6 7 8]] x: [[1 2 3 4] [1 2 3 4] [5 6 7 8] [5 6 7 8]]
Tile(贴瓷砖)
arr = np.array([[0, 0, 0],[ 0, 1, 0],[ 0, 0, 0]]) x =np.tile(arr, (2, 3))
arr: [[0 0 0] [0 1 0] [0 0 0]] x: [[0 0 0 0 0 0 0 0 0] [0 1 0 0 1 0 0 1 0] [0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0] [0 1 0 0 1 0 0 1 0] [0 0 0 0 0 0 0 0 0]]