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

作者:不思量自难忘 时间:2023-11-13 07:13:21 

目录
  • 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]]

来源:https://juejin.cn/post/7000933929452568607

标签:numpy,数组合并
0
投稿

猜你喜欢

  • perl用{}修饰变量名的写法分享

    2023-03-18 05:43:00
  • Python中ttkbootstrap的介绍与基本使用

    2023-08-23 15:57:01
  • 如何使用五行Python代码轻松实现批量抠图

    2023-10-06 08:05:20
  • Python向Excel中插入图片的简单实现方法

    2022-09-27 21:41:59
  • js类的继承定义与用法分析

    2024-04-22 22:34:07
  • python 每天如何定时启动爬虫任务(实现方法分享)

    2022-11-28 21:14:35
  • 在Python中使用Neo4j的方法

    2023-01-16 04:12:39
  • Perl使用Tesseract-OCR实现验证码识别教程

    2022-04-22 07:52:05
  • vuex管理状态仓库使用详解

    2024-04-30 10:38:33
  • 如何创建支持FILESTREAM的数据库示例探讨

    2024-01-26 15:30:13
  • python 执行文件时额外参数获取的实例

    2022-09-24 05:46:54
  • selenium+python实现自动登陆QQ邮箱并发送邮件功能

    2023-12-17 18:52:13
  • python爬虫框架Scrapy基本应用学习教程

    2021-04-05 13:09:44
  • 解决Python内层for循环如何break出外层的循环的问题

    2023-09-07 22:21:39
  • Python可视化神器pyecharts绘制雷达图

    2021-09-30 14:50:48
  • Java使用jdbc连接实现对MySQL增删改查操作的全过程

    2024-01-27 05:07:51
  • vant IndexBar实现的城市列表的示例代码

    2024-05-08 09:34:22
  • Python操作JSON文件的知识点整理

    2022-10-23 05:45:01
  • 浅谈String类型如何转换为time类型存进数据库

    2024-01-26 18:37:39
  • ASP下检测图片木马的函数代码

    2011-02-05 10:43:00
  • asp之家 网络编程 m.aspxhome.com