Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)相关的知识,希望对你有一定的参考价值。

参考技术A Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

数组拼接方法一
思路:首先将数组转成列表,然后利用列表的拼接函数append()、extend()等进行拼接处理,最后将列表转成数组。

https://stackoverflow.com/questions/9775297/append-a-numpy-array-to-a-numpy-array

https://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html

numpy数组拼接方法介绍

数组拼接方法二
思路:numpy提供了numpy.append(arr, values, axis=None)函数。对于参数规定,要么一个数组和一个数值;要么两个数组,不能三个及以上数组直接append拼接。append函数返回的始终是一个一维数组。

可知,concatenate()效率更高,适合大规模的数据拼接

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

 

以上是关于Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)的主要内容,如果未能解决你的问题,请参考以下文章

numpy数组拼接方法介绍(concatenate)---一次性完成多个数组的拼接

numpy的基本API——拼接拆分添加删除

数组的拼接

[Python Cookbook] Numpy Array Joint Methods: Append, Extend & Concatenate

NumPy

2-Numpy之hstackvstackconcatenate区别