Numpy——数组合并

Mangena ·
更新时间:2024-09-21
· 662 次阅读

文章目录1.np.vstack()2.np.hstack()3.np.newaxis()4.综合newaxis、vstack、hstack5.np.concatenate() 1.np.vstack()

对于一个array的合并,我们可以想到按行、按列等多种方式进行合并。

import numpy as np A = np.array([1,2,3,4,5,6]) B = np.array([6,5,4,3,2,1]) print(A) print(B) print(np.vstack((A,B))) #沿着竖直方向将矩阵堆叠起来 C = np.vstack((A,B)) print(C) print(A.shape , B.shape, C.shape)

vertical stack本身属于一种上下合并,即对括号中的两个整体进行对应操作

2.np.hstack()

左右合并

import numpy as np A = np.array([1,2,3,4,5,6]) B = np.array([6,5,4,3,2,1]) D = np.hstack((A,B)) print(D) print(A.shape, B.shape, D.shape) 3.np.newaxis()

对于非矩阵,此时就需要我们借助其他的函数操作进行转置:

import numpy as np A = np.array([1,2,3,4,5,6]) print(A) print(A.shape) print(A[np.newaxis,:]) #在行方向加了一个维度 print(A[np.newaxis,:].shape) print(A[:,np.newaxis]) #在列方向加了一个维度 print(A[:,np.newaxis].shape) 4.综合newaxis、vstack、hstack import numpy as np A = np.array([1,2,3,4,5,6])[:,np.newaxis] #在列方向加了一个维度 B = np.array([6,5,4,3,2,1])[:,np.newaxis] C = np.vstack((A,B)) #在垂直方向合并A、B D = np.hstack((A,B)) ##在水平方向合并A、B print(C) print(D) print(A.shape,B.shape,C.shape,D.shape) 5.np.concatenate()

当你的合并操作需要针对多个矩阵或序列时,借助concatenate函数可能会让你使用起来比前述的函数更加方便:

import numpy as np A = np.array([1,2,3,4,5,6])[:,np.newaxis] B = np.array([6,5,4,3,2,1])[:,np.newaxis] C = np.concatenate((A,A,B,B,A,A),axis = 1) print(C) D = np.concatenate((A,A,B,B,A,A),axis = 0) print(D)

axis能控制矩阵的横向或纵向,相比较vstack和hstack函数显得更加方便。


作者:程旭员



数组合并 NumPy 数组

需要 登录 后方可回复, 如果你还没有账号请 注册新账号