主页 > 知识库 > numpy系列之数组合并(横向和纵向)

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

热门标签:网站文章发布 铁路电话系统 检查注册表项 美图手机 呼叫中心市场需求 服务器配置 银行业务 智能手机

先新建两个数组用于合并

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 数组合并内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • numpy数组合并和矩阵拼接的实现
  • Python numpy实现数组合并实例(vstack,hstack)

标签:沧州 河南 上海 沈阳 乐山 红河 新疆 长治

巨人网络通讯声明:本文标题《numpy系列之数组合并(横向和纵向)》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266