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实现批量把SVG格式转成png、pdf格式的代码分享
Aug 21 Python
python在Windows8下获取本机ip地址的方法
Mar 14 Python
在Python中marshal对象序列化的相关知识
Jul 01 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
Python3 安装PyQt5及exe打包图文教程
Jan 08 Python
将python文件打包成EXE应用程序的方法
May 22 Python
Python read函数按字节(字符)读取文件的实现
Jul 03 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
Python爬取视频(其实是一篇福利)过程解析
Aug 01 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
浅析Python中的套接字编程
Jun 22 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
在线增减.htpasswd内的用户
2006/10/09 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
python实现人人网登录示例分享
2014/01/19 Python
Python实现程序的单一实例用法分析
2015/06/03 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
JAVA程序员面试题
2012/10/03 面试题
资深财务管理人员自我评价
2013/09/22 职场文书
2014年自我评价
2014/01/04 职场文书
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android