2-Numpy之hstackvstackconcatenate区别

Posted cheryol

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2-Numpy之hstackvstackconcatenate区别相关的知识,希望对你有一定的参考价值。

concatenate与hstack、vstack的异同点

  都表示拼接数组,concatenate可以实现hstack和vstack的功能,只需要通过调整参数axis的值即可。

 

其中:v表示垂直(Vertical)

      h表示水平(Horizontal)

  axis=0,表示将拼接新行,相当于vstack;

  axis=1,表示将拼接新列,相当于hstack。

在拼接过程中需要注意的是:传入的数组必须在指定轴上有相同的维度。

举个例子吧!

技术图片
 1 arr=np.array([[1,2,3],[2,2,3],[3,5,1]])
 2 >>> arr
 3 array([[1, 2, 3],
 4        [2, 2, 3],
 5        [3, 5, 1]])
 6 
 7 #hstack用法
 8 >>> h_ze = np.zeros((3,1))
 9 >>> h_ze
10 array([[0.],
11        [0.],
12        [0.]])
13 
14 np.hstack((arr,he_ze))
15 array([[1., 2., 3., 0.],
16        [2., 2., 3., 0.],
17        [3., 5., 1., 0.]])
18 
19 #vstack用法
20 >>> v_ze = np.zeros((1,3))
21 >>> v_ze
22 array([[0., 0., 0.]])
23 >>> np.vstack((arr,v_ze))
24 array([[1., 2., 3.],
25        [2., 2., 3.],
26        [3., 5., 1.],
27        [0., 0., 0.]])
28 
29 
30 #axis=1相当于hstack
31 >>> np.concatenate((arr,h_ze),axis=1)
32 array([[1., 2., 3., 0.],
33        [2., 2., 3., 0.],
34        [3., 5., 1., 0.]])
35 
36 #axis=0相当于vstack
37 >>> np.concatenate((arr,v_ze),axis=0)
38 array([[1., 2., 3.],
39        [2., 2., 3.],
40        [3., 5., 1.],
41        [0., 0., 0.]])
View Code

 

以上是关于2-Numpy之hstackvstackconcatenate区别的主要内容,如果未能解决你的问题,请参考以下文章

2-Numpy之hstackvstackconcatenate区别

一文带你斩杀Python之Numpy☀️Pandas全部操作全网最详细❗❗❗

备战数学建模27 & 科研必备 -Python之数值型数据处理numpy

数据分析之道-NumPynumpy切片与索引

NumPy学习——numpy初级

AI常用框架和工具丨1. 科学计算库NumPy