NumPy实现数组的拼接和分裂
一.数组的拼接
import numpy as np
x=np.array([,,])
x2=np.array([,,])
np.concatenate([x,x2])
输出:array([1, 2, 3, 4, 5, 6])
grid=np.array(
[[,,],
[,,]])
np.concatenate([grid,grid])
输出:
array([[, , ],
[, , ],
[, , ],
[, , ]])
np.concatenate([grid,grid],axis=)
输出:
array([[, , , , , ],
[, , , , , ]])
如果我们不加上按照哪个轴(axis)进行拼接,那么则默认为通过第0个轴进行拼接,第0个轴是我们数组的横轴
第一个轴则是数组的数轴,我们平时画xy轴二维平面坐标系的时候,也是按照先横轴后数轴的形式来画的,这也是我们计算机的习惯。如果您不想利用这种利用加参数表示哪个轴的方式,则可以直接利用新的函数,vstack(垂直拼接),和hstack(水平拼接)进行数组的拼接。v在英语里是vertical的意思,h是honrizontal的意思,这两个英语单词在我们的安卓开发当中十分常用,一个是表示了线性布局的垂直布局,一个是表示了线性布局是水平布局。下面展示我们利用更简单的函数进行的数组的拼接:
np.vstack([grid,grid])
array([[, , ],
[, , ],
[, , ],
[, , ]])
np.hstack([grid,grid])
array([[, , , , , ],
[, , , , , ]])
得解也。
二.数组的分裂
第一种方法,按照数组的节点进行分裂,split函数当中的中括号表示分裂节点的位置:
>>> x=np.array([,,,,,,])
>>> x1,x2,x3=np.split(x,[,])
>>> x1
array([, ])
>>> x2
array([, ])
>>> x3
array([ , , ])
第二种方法:
然后数组的分裂也具备了前缀为v或者h的函数,首先建立二维gird数组,利用如下:
>>> grid
array([[ , , , ],
[ , , , ],
[ , , , ],
[, , , ]])
利用vsplit进行分裂:
>>> x1,x2=np.vsplit(gird,[])
>>> x1
array([[, , , ],
[, , , ]])
>>> x2
array([[ , , , ],
[, , , ]])
第三种方法:利用hsplit进行分裂
>>> x1,x2=np.hsplit(gird,[])
>>> x1
array([[ , ],
[ , ],
[ , ],
[, ]])
>>> x2
array([[ , ],
[ , ],
[, ],
[, ]])
中括号当中的2表示的是相对分裂点的位置,可以根据自己的需求进行相应的改变。
NumPy实现数组的拼接和分裂的更多相关文章
- Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)
一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...
- numpy 数组的拼接
一.数组的拼接 1.水平拼接 a.格式 np.hstack((数组1, 数组2)) # 注意: 值是元祖 # 0轴长要相同 b.例子 import numpy as np arr1 = np.aran ...
- NumPy 迭代数组
NumPy 迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用 arange() ...
- 找出numpy array数组的最值及其索引
在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where ...
- python 工具 字符串转numpy浮点数组
不同的数字之间使用 空格“ ”,“$”,"*"等隔开,支持带小数点的字符串NumArray=str2num(LineString,comment='#')将字符串中的所有非Doub ...
- Numpy | 04 数组属性
NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions).比如说,二 ...
- numpy使用数组进行数据处理
numpy使用数组进行数据处理 meshgrid函数 理解: 二维坐标系中,X轴可以取三个值1,2,3, Y轴可以取三个值7,8, 请问可以获得多少个点的坐标? 显而易见是6个: (1,7)(2,7) ...
- js 数组的拼接
数组的拼接 var a = [1,2,3,4,5,6]; var b=["foo","bar", "fun"]; 最终的结果是: [ 1,2 ...
- python数据分析 Numpy基础 数组和矢量计算
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...
随机推荐
- .net core web api 添加对session跨域实现
1.配置Startup /ConfigureServices添加: services.AddSession(options => { options.Cookie.Name = ".A ...
- C#中 EF 性能优化
https://www.cnblogs.com/chenwolong/p/7531955.html EF使用AsNoTracking(),无跟踪查询技术(查询出来的数据不可以修改,如果你做了修改,你会 ...
- 微信小程序新服务消息推送 —— 订阅消息
微信团队前不久公测了「订阅消息」,原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法发送模板消息.「订阅消息」将完全替代「模板消息」,这两天得空测试了一波. 1.下发权限机制 ...
- Cesium专栏-空间分析之地形等高线(附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- 剑指offer 26:复杂链表的复制
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否 ...
- Servlet 使用介绍(3)
说明 本篇记录一个Servlet的创建过程和基本使用.由于,Servlet是基于Http协议使用的,所以,可以在http协议的基础上作一些改变,来修改适用我自己的servlet. Servlet使用 ...
- 初级模拟电路:3-8 BJT数据规格书(直流部分)
回到目录 本小节我们以2N4123通用型BJT硅基晶体管为例,来介绍如何阅读BJT的数据规格书,点此链接可以阅读和下载2N4123的数据规格书. 1. 总体性能 打开datasheet后,首先看标题: ...
- node.js守护进程问题的解决
最近自己写了一个node.js来读取redis数据,编写完成后按理来说加& 应该是有效的 nohup node redis.js & 但是每次关闭终端后这个进程就自动停止了,百度了下 ...
- ArrayList的输出以及一些问题
//首先需要创建一个ArrayList ArrayList arr=new ArrayList(); //然后往ArrayList里面插入一些值 arr.add("a"); arr ...
- UML工具-1-StarUML下载及破解
UML工具-StarUML 下载地址 http://staruml.io/