numpy系列之数组合并(横向和纵向)

目录
  • 1.横向合并
    • 1.1 concatenate方法
    • 1.2 hstack方法
    • 1.3 column_stack方法
  • 2.纵向合并
    • 2.1 concatenate方法
    • 2.2 vstack方法
    • 2.3 row_stack方法

先新建两个数组用于合并

import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr1)

result:
[[1 2 3]
 [4 5 6]]

arr2 = np.array([[7, 8, 9], [10, 11, 12]])
print(arr2)

result:
[[ 7  8  9]
 [10 11 12]]

1.横向合并

横向合并就是将两个行数相等的数组在行方向上进行简单拼接。与DataFrame合并不太一样,numpy数组合并不需要公共列,只是将两个数组简单拼接在一起,有concatenate、hstack、column_stack三种方法可以实现

1.1 concatenate方法

concatenate方法中将两个待合并的数组以列表的形式传递给concatenate,并通过设置axis参数指明在行方向还是列方向上进行合并。参数axis=1表示在数组在行方向上进行合并

print(np.concatenate([arr1, arr2], axis=1))

result:
[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]

1.2 hstack方法

hstack方法中将两个待合并的数组以元组的形式传递给hstack即可达到数组横向合并的目的

print(np.hstack((arr1, arr2)))

result:
[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]

1.3 column_stack方法

column_stack方法与hstack方法基本一致, 也是将两个待合并的数组以元组的形式传递给column_stack即可达到数组横向合并的目的

print(np.column_stack((arr1, arr2)))

result:
[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]

2.纵向合并

纵向合并是将两个列相等的数组在列方向上进行拼接,有concatenate、vstack、row_stack三种方法可以实现

2.1 concatenate方法

concatenate方法中将两个待合并的数组以列表的形式传递给concatenate,并通过设置axis参数指明在行方向还是列方向上进行合并。参数axis=0表示在数组在列方向上进行合并

print(np.concatenate([arr1, arr2], axis=0))

result:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

2.2 vstack方法

vstack方法是与hstack方法相对应的方法,同样只要将两个待合并的数组以元组的形式传递给vstack即可达到数组纵向合并的目的

print(np.vstack((arr1, arr2)))

result:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

2.3 row_stack方法

row_stack方法是与column_stack方法相对应的方法,同样只要将两个待合并的数组以元组的形式传递给row_stack即可达到数组纵向合并的目的

print(np.row_stack((arr1, arr2)))

result:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

到此这篇关于numpy系列之数组合并(横向和纵向)的文章就介绍到这了,更多相关numpy 数组合并内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • numpy数组合并和矩阵拼接的实现

    Numpy中提供了concatenate,append, stack类(包括hsatck.vstack.dstack.row_stack.column_stack),r_和c_等类和函数用于数组拼接的操作. 各种函数的特点和区别如下标: concatenate 提供了axis参数,用于指定拼接方向 append 默认先ravel再拼接成一维数组,也可指定axis stack 提供了axis参数,用于生成新的维度 hstack 水平拼接,沿着行的方向,对列进行拼接 vstack 垂直拼接,沿着列的

  • Python numpy实现数组合并实例(vstack,hstack)

    若干个数组可以沿不同的轴合合并到一起,vstack,hstack的简单用法, >>> a = np.floor(10*np.random.random((2,2))) >>> a array([[ 8., 8.], [ 0., 0.]]) >>> b = np.floor(10*np.random.random((2,2))) >>> b array([[ 1., 8.], [ 0., 4.]]) >>> np.vs

  • numpy系列之数组合并(横向和纵向)

    目录 1.横向合并 1.1 concatenate方法 1.2 hstack方法 1.3 column_stack方法 2.纵向合并 2.1 concatenate方法 2.2 vstack方法 2.3 row_stack方法 先新建两个数组用于合并 import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) print(arr1) result: [[1 2 3]  [4 5 6]] arr2 = np.array([[7, 8, 9]

  • numpy系列之数组重塑的实现

    目录 1.数组重塑 1.1 一维数组重塑 1.2 多维数组重塑 2.数组转置 1.数组重塑 所谓数组重塑就是更改数组的形状.比如将原来3行4列的数组重塑成4行3列的数组.在numpy中用reshape方法来实现数组重塑 1.1 一维数组重塑 一维数组重塑就是将数组从一行或一列数组重塑为多行多列的数组. 先创建一个一维数组 import numpy as np ​arr = np.arange(8) print(arr) result: [0 1 2 3 4 5 6 7] 上面的这个数组既可以转换

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

    Numpy中提供了concatenate,append, stack类(包括hsatck.vstack.dstack.row_stack.column_stack),r_和c_等类和函数用于数组拼接的操作. 各种函数的特点和区别如下标: concatenate 提供了axis参数,用于指定拼接方向 append 默认先ravel再拼接成一维数组,也可指定axis stack 提供了axis参数,用于生成新的维度 hstack 水平拼接,沿着行的方向,对列进行拼接 vstack 垂直拼接,沿着列的

  • numpy中数组拼接、数组合并方法总结(append(), concatenate, hstack, vstack, column_stack, row_stack, np.r_, np.c_等)

    目录 零. 维度和轴 一.append() 二.concatenate 三.hstack, vstack 四.column_stack, row_stack 五. np.r_, np.c_ 六.总结 参考 总结 零. 维度和轴 Python中可以用numpy中的ndim和shape来分别查看维度,以及在对应维度上的长度.直观上可以根据符号“[ ]”的层数来判断,有m层即为m维,最外面1层对应axis0, 依次为axis1,axis2… c = np.array([[[1,2,3], [4,5,6

  • Python reshape的用法及多个二维数组合并为三维数组的实例

    reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变.是对每行元素进行处理 resize(shape) : 与.reshape()功能一致,但修改原数组 In [1]: a = np.arange(20) #原数组不变 In [2]: a.reshape([4,5]) Out[2]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]])

  • java 两个数组合并的几种方法

    本文介绍了java 两个数组合并的几种方法,分享给大家,也给自己留个笔记 需求:两个字符串合并(如果想去重复,参考下一篇--数组去重复及记录重复个数) //方法一 Arrays类 String[] a = {"A","B","C"}; String[] b = {"D","E"}; // List<String> list = Arrays.asList(a); --OK // List<

  • 归并算法之有序数组合并算法实现

    归并算法之有序数组合并算法实现 一个简单的有序数组合并算法:写一个函数,传入 2 个有序的整数数组,返回一个有序的整数数组.实现相当简单,创建一个长度为这两个长度之和的数组,然后分别用三个指针指向这三个数组,找到这两个数组中各个元素在合并数组中的位置并插入,直到某个数组指针到达尾部.再将另一个数组剩下的所有元素,直接放入归并数组尾部.算法的简单实现,需要注意的是对参数的校验,判断数组是否有序. public class MergeOrderedArray { public static int[

  • js获取元素到文档区域document的(横向、纵向)坐标的两种方法

    获取页面中元素到文档区域document的横向.纵向坐标的两种方法及其比较 在js控制元素运动的过程中,对于页面元素坐标位置的获取是经常用到的,这里主要总结下两种方法: 一:通过叠加元素对象和它的offsetParent(如果存在)的offsetLeft/offsetTop属性来实现 在阅读javascript高级程序设计第三版DOM部分时,了解到要获取某个元素在页面上的偏移量,需要将这个元素的offsetLeft和offsetTop与其offsetParent的相同属性相加,一直循环直至根元素

随机推荐