数组拼接
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]]