3-6 Numpy数组的合并与分割

合并操作

import numpy as np
x=np.array([1,2,3])
y=np.array([3,2,1])
z=np.array([666,666,666])

np.concatenate([x,y,z])
‘‘‘
array([  1,   2,   3,   3,   2,   1, 666, 666, 666])
’’’
#拼接 注意[]

A=np.array([[1,2,3],
          [4,5,6]])
np.concatenate([A,A])
‘‘‘
array([[1, 2, 3],
       [4, 5, 6],
       [1, 2, 3],
       [4, 5, 6]])
’’’
#默认axis=0 沿第一个纬度拼接 

np.concatenate([A,A],axis=1)
‘‘‘
array([[1, 2, 3, 1, 2, 3],
       [4, 5, 6, 4, 5, 6]])
’’’

#沿第二个纬度拼接

np.concatenate([A,z])
# 报错 维度不同无法拼接
#需将z转化为多维

np.concatenate([A,z.reshape(1,-1)])
=np.vstack([A,z])
#竖直拼接
#不满足列相等会报错

B=np.full((2,2),100)
np.hstack([A,B])
#水平拼接
#不满足行相等会报错

分割操作

x=np.arange(2,10)
x1,x2,x3=np.split(x,[3,7])
#234
#5678
#9

 x1,x2=np.split(x,[5])

A=np.arange(16).reshape([4,4])
A1,A2=np.split(A,[2])
#前两行 后两行
‘‘‘
array([[0, 1, 2, 3],
       [4, 5, 6, 7]])
array([[ 8,  9, 10, 11],
       [12, 13, 14, 15]])
’’’
#默认第一个维度

A1,A2=np.split(A,[2],axis=1)
#第二个维度

upper,lower=np.vsplit(A,[2])
#分割出前两行 

left,right=np.hsplit(A,[2])
#分割出前两列 

X,y=np.hsplit(A,[-1])
#-1最后一列分割出来
‘‘‘
array([[ 0,  1,  2],
       [ 4,  5,  6],
       [ 8,  9, 10],
       [12, 13, 14]])
array([[ 3],
       [ 7],
       [11],
       [15]])
’’’

y[:,0]
#所有的行 第0列
‘‘‘
array([ 3,  7, 11, 15])
’’’

你可能感兴趣的:(3-6 Numpy数组的合并与分割)