python中合并数组的方法

时间:2021-10-06 21:18:24

一、数组纵向合并

1、使用np.vstack()函数

【code】

#数组
a = [[1,2,3],[4,5,6]]
b = [[1,1,1],[2,2,2]]

#纵向合并
c = np.vstack((a,b))
print("c="+str(c))

【result】

c = 
array([[1, 2, 3],
[4, 5, 6],
[1, 1, 1],
[2, 2, 2]]  

 

2、使用 np.r_[]函数

【code】

#数组
a = [[1,2,3],[4,5,6]]
b = [[1,1,1],[2,2,2]]

#纵向合并
c =np.r_[a,b]
print("c="+str(c))

【result】

c = 
array([[1, 2, 3],
[4, 5, 6],
[1, 1, 1],
[2, 2, 2]]  

 

3、不使用函数,直接合并,见代码

【code】

a_prev=np.array(([1,2],[3,4]))
xt=np.array(([1,2],[3,4],[5,6]))

concat = np.zeros([5,2])

concat[: 2, :] = a_prev
concat[2 :, :] = xt
print(concat)

【result】

[[1. 2.]
[3. 4.]
[1. 2.]
[3. 4.]
[5. 6.]]

  

二、数组横向合并  

1、使用np.hstack()函数

【code】

#数组
a = [[1,2,3],[4,5,6]]
b = [[1,1,1],[2,2,2]]

#横向合并
d = np.hstack((a,b))
print("d="+str(d))

【result】

d = array([[1, 2, 3, 1, 1, 1],
[4, 5, 6, 2, 2, 2]])

 

2、使用np.c_[]函数

【code】

#数组
a = [[1,2,3],[4,5,6]]
b = [[1,1,1],[2,2,2]]

#横向合并
d = np.c_[a,b]
print("d="+str(d))

【result】

d = array([[1, 2, 3, 1, 1, 1],
[4, 5, 6, 2, 2, 2]])

 

3、不使用函数,直接合并,见代码

【code】

a_prev=np.array(([1,2,3],[3,4,5]))
xt=np.array(([4,5],[6,7]))

concat = np.zeros([2,5])

concat[:, : 3] = a_prev
concat[:, 3 :] = xt
print(concat)

【result】

[[1. 2. 3. 4. 5.]
[3. 4. 5. 6. 7.]]

 

---------------------------------

参考:

1、http://blog.csdn.net/vanhsy/article/details/69486241

2、https://i.cnblogs.com/EditPosts.aspx?postid=8488878