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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
perl用{}修饰变量名的写法分享
Python中ttkbootstrap的介绍与基本使用
![](https://img.aspxhome.com/file/2023/9/91999_0s.gif)
如何使用五行Python代码轻松实现批量抠图
![](https://img.aspxhome.com/file/2023/6/117576_0s.jpg)
Python向Excel中插入图片的简单实现方法
![](https://img.aspxhome.com/file/2023/4/66434_0s.png)
js类的继承定义与用法分析
python 每天如何定时启动爬虫任务(实现方法分享)
在Python中使用Neo4j的方法
![](https://img.aspxhome.com/file/2023/5/103165_0s.png)
Perl使用Tesseract-OCR实现验证码识别教程
vuex管理状态仓库使用详解
![](https://img.aspxhome.com/file/2023/8/130128_0s.png)
如何创建支持FILESTREAM的数据库示例探讨
python 执行文件时额外参数获取的实例
selenium+python实现自动登陆QQ邮箱并发送邮件功能
![](https://img.aspxhome.com/file/2023/7/125197_0s.jpg)
python爬虫框架Scrapy基本应用学习教程
![](https://img.aspxhome.com/file/2023/8/94108_0s.png)
解决Python内层for循环如何break出外层的循环的问题
Python可视化神器pyecharts绘制雷达图
![](https://img.aspxhome.com/file/2023/3/102953_0s.png)
Java使用jdbc连接实现对MySQL增删改查操作的全过程
![](https://img.aspxhome.com/file/2023/5/115895_0s.png)
vant IndexBar实现的城市列表的示例代码
![](https://img.aspxhome.com/file/2023/7/130267_0s.jpg)
Python操作JSON文件的知识点整理
![](https://img.aspxhome.com/file/2023/4/105754_0s.png)
浅谈String类型如何转换为time类型存进数据库
![](https://img.aspxhome.com/file/2023/8/69358_0s.png)