机器学习 番外篇 04 numpy之数组的合并和分割

数组的合并与分割

import numpy as np
x=np.array([1,2,3])
y=np.array([3,2,1])
x
>>>array([1, 2, 3])
y
>>>array([3, 2, 1])
np.concatenate([x,y]) # 拼接
>>>array([1, 2, 3, 3, 2, 1])
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]])
np.concatenate([a,a],axis=1)
>>>array([[1, 2, 3, 1, 2, 3],
       [4, 5, 6, 4, 5, 6]])
z=np.array([666,66,66])
a1=np.concatenate([a,z.reshape(1,-1)])
a1
>>>array([[  1,   2,   3],
       [  4,   5,   6],
       [666,  66,  66]])
np.vstack([a,z])
>>>array([[  1,   2,   3],
       [  4,   5,   6],
       [666,  66,  66]])
b=np.full((2,2),100)
b
>>>array([[100, 100],
       [100, 100]])
np.hstack([a,b])
>>>array([[  1,   2,   3, 100, 100],
       [  4,   5,   6, 100, 100]])

分割

x=np.arange(10)
x
>>>array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x1,x2,x3=np.split(x,[3,7])
x1
>>>array([0, 1, 2])
x2
>>>array([3, 4, 5, 6])
x3
>>>array([7, 8, 9])
x1,x2=np.split(x,[5])
x1
>>>array([0, 1, 2, 3, 4])
x2
>>>array([5, 6, 7, 8, 9])
arr=np.arange(16).reshape(4,4)
upper,lower=np.vsplit(arr,[2]) # 竖直分割
upper
>>>array([[0, 1, 2, 3],
       [4, 5, 6, 7]])
lower
>>>array([[ 8,  9, 10, 11],
       [12, 13, 14, 15]])
left,right=np.hsplit(arr,[2]) # 水平分割
left
>>>array([[ 0,  1],
       [ 4,  5],
       [ 8,  9],
       [12, 13]])
right
>>>array([[ 2,  3],
       [ 6,  7],
       [10, 11],
       [14, 15]])

猜你喜欢

转载自blog.csdn.net/lihaogn/article/details/81303999