python numpy--数组的组合和分割实例


Posted in Python onFebruary 24, 2020

数组的组合主要有:

1.水平组合:np.hstack(arr1,arr2) 或 concatenate(arr1,arr2,axis=1)
2.垂直组合:np.vstack(arr1,arr2) 或 concatenate(arr1,arr2,axis=0)
3.深度组合:np.dstack(arr1,arr2)
4.列组合:np.column_stack(arr1,arr2)
5.行组合:np.row_stack(arr1,arr2)

数组的分割主要有:

1.水平分割:np.split(arr,n,axis=1) 或 np.hsplit(arr,n)
2.垂直分割:np.split(arr,n,axis=0) 或 np.vsplit(arr,n)
3.深度分割:np.dsplit(arr,n)

接下来一一举例

一、数组的组合

1.水平组合

语法:

np.hstack(arr1,arr2)
concatenate(arr1,arr2,axis=1)

水平方向上直接拼接起来

# 准备两个数组
m=np.arange(9).reshape(3,3)
doubleM=m*2

m:

python numpy--数组的组合和分割实例

doubleM:

python numpy--数组的组合和分割实例

#hstack()
np.hstack((m,doubleM)) 
# concatenate()
np.concatenate((m,doubleM),axis=1)

python numpy--数组的组合和分割实例

2.垂直组合

语法:

np.vstack(arr1,arr2)
concatenate(arr1,arr2,axis=0)

将第二个数组拼接在第一个数组的垂直方向上。

还是用刚刚的m 和doubleM这两个数组。

# vstack()
np.vstack((m,doubleM))
# concatenate()
np.concatenate((m,doubleM),axis=0)

python numpy--数组的组合和分割实例

3.深度组合

语法:np.dstack(arr1,arr2)

就是将一系列数组沿着纵轴(深度)方向进行层叠组合。

还是用刚刚的m和doubleM两个数组。

np.dstack((m,doubleM))

python numpy--数组的组合和分割实例

注意:

(1)新的数据的维度是原数据行列以及个数相关。

(2)维度不同的两个数组不能进行组合

4.列组合

语法:np.column_stack(arr1,arr2)

column_stack函数对于一维数组是深度组合;

对多维数组就是与hstack的效果一样,直接水平方向拼接起来

(1) 两个一维数组进行列组合

m1=np.arange(3)
print(m1)
np.column_stack((m1,m1*2))
[0 1 2]

array([[0, 0],
[1, 2],
[2, 4]])

(2)一维数组与多维数组进行组合

将一维数组的每一个数字分配到多维数组的每一列中去,因此,一维数组的数字个数一定要与多维数组的行相同才能够进行组合。

m1:[0 1 2]

m:

python numpy--数组的组合和分割实例

np.column_stack((m1,m))

python numpy--数组的组合和分割实例

(3)多维数组与多维数组进行列组合

可以看出来是直接进行水平方向的组合的

np.column_stack((m,doubleM))

python numpy--数组的组合和分割实例

5.行组合

语法:np.row_stack(arr1,arr2)

对于一维数组来说,无论几个一维数组,直接叠起来组成二维数组;

对于多维数组来说,就是垂直方向上的组合(vstack)

(1)两个一维数组进行行组合

np.row_stack((m,doubleM))

python numpy--数组的组合和分割实例

(2)多维数组进行行组合

注意一定要相同维度的多维数组才能进行行组合!!!

二、数组的分割

1.水平分割

是在水平方向上进行分割,所以是竖着划一刀的。

语法:

np.split(arr,n,axis=1)
np.hsplit()

arr1=np.arange(16).reshape(4,4)
print(arr1)
np.split(arr1,2,axis=1)
# np.hsplit(arr1,2)

python numpy--数组的组合和分割实例

注意:分割的分数要可以整出的才行

2.垂直分割

沿着垂直方向上进行分割,因此是分出来是行

语法:

np.split(arr,n,axis=0)
np.vsplit(arr)

arr=np.arange(9).reshape(3,3)
arr

python numpy--数组的组合和分割实例

np.split(arr,3,axis=0)
np.vsplit(arr,3)

python numpy--数组的组合和分割实例

3.深度分割

注意:深度分割只能分割3个维度以上的

语法:语法:dsplit(arr,n)

arr1=np.arange(8).reshape(2,2,2)
arr1

python numpy--数组的组合和分割实例

np.dsplit(arr1,2)

python numpy--数组的组合和分割实例

以上这篇python numpy--数组的组合和分割实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
如何运行Python程序的方法
Apr 21 Python
Python中字典映射类型的学习教程
Aug 20 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
Python中flatten( )函数及函数用法详解
Nov 02 Python
python 构造三维全零数组的方法
Nov 12 Python
Python使用sorted对字典的key或value排序
Nov 15 Python
对python读写文件去重、RE、set的使用详解
Dec 11 Python
在Python 不同级目录之间模块的调用方法
Jan 19 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Python3 io文本及原始流I/O工具用法详解
Mar 23 Python
python梯度下降算法的实现
Feb 24 #Python
利用python实现逐步回归
Feb 24 #Python
python数据分析:关键字提取方式
Feb 24 #Python
python数据预处理 :数据共线性处理详解
Feb 24 #Python
使用python实现多维数据降维操作
Feb 24 #Python
python数据预处理 :数据抽样解析
Feb 24 #Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 #Python
You might like
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
python 简单的绘图工具turtle使用详解
2017/06/21 Python
python实现梯度下降算法
2020/03/24 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
行政助理岗位职责
2013/11/10 职场文书
销售总经理岗位职责
2014/03/15 职场文书
会计电算化专业求职信
2014/06/10 职场文书
文秘自荐信
2014/06/28 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
一份文言文检讨书
2014/09/13 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
六五普法学习心得体会
2016/01/21 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
导游词之岳阳楼
2019/09/25 职场文书
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技