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中运行并行任务技巧
Feb 26 Python
Python读取Excel的方法实例分析
Jul 11 Python
python中的错误处理
Apr 10 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
Python中存取文件的4种不同操作
Jul 02 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
Apr 03 Python
用Python写一个自动木马程序
Sep 17 Python
python 遍历pd.Series的index和value
Nov 26 Python
django从后台返回html代码的实例
Mar 11 Python
Python接口测试文件上传实例解析
May 22 Python
Python读取Excel数据并生成图表过程解析
Jun 18 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
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
php之XML转数组函数的详解
2013/06/07 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
Python的pycurl包用法简介
2015/11/13 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
厨房管理计划书
2014/04/27 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
防灾减灾标语
2014/10/07 职场文书
技术员岗位职责范本
2015/04/11 职场文书
债务纠纷代理词
2015/05/25 职场文书
入党自传范文2015
2015/06/26 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis