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代码混合编程的方法
May 19 Python
python3实现读取chrome浏览器cookie
Jun 19 Python
python创建文件备份的脚本
Sep 11 Python
python对日志进行处理的实例代码
Oct 06 Python
如何利用Boost.Python实现Python C/C++混合编程详解
Nov 08 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
Django框架用户注销功能实现方法分析
May 28 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
Jun 27 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
Python 将json序列化后的字符串转换成字典(推荐)
Jan 06 Python
Python importlib模块重载使用方法详解
Oct 13 Python
Matlab如何实现矩阵复制扩充
Jun 02 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
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
PDO::quote讲解
2019/01/29 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
python with statement 进行文件操作指南
2014/08/22 Python
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python tornado修改log输出方式
2019/11/18 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
AmazeUI在模态框中嵌入表单形成模态输入框
2020/08/20 HTML / CSS
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
企业文化演讲稿
2014/05/20 职场文书
新农村建设标语
2014/06/24 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
Golang jwt身份认证
2022/04/20 Golang
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js