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,一个具 ...
随机推荐
- 关于javascript中变量及函数的提升
javascript中变量以及函数的提升,在我们平时的项目中其实还是挺常用的,尤其是大型项目中,不知不觉就会顺手添加一些变量,而有时候自己的不小心就会酿成一些不必要错误,趁有时间整理一下自己对于js中 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之五:安装SQL Server
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 【转载】Android IntentService使用全面介绍及源码解析
一 IntentService介绍 IntentService定义的三个基本点:是什么?怎么用?如何work? 官方解释如下: //IntentService定义的三个基本点:是什么?怎么用?如何wo ...
- Thymeleaf常用语法:数据迭代
Thymeleaf数据迭代使用th:each属性,可以迭代数组.List.Set和Map等,数组.List.Set的迭代方法类似,迭代Map则会得到一个java.util.Map.Entry对象.在迭 ...
- NCCL(Nvidia Collective multi-GPU Communication Library) Nvidia英伟达的Multi-GPU多卡通信框架NCCL 学习;PCIe 速率调研;
为了了解,上来先看几篇中文博客进行简单了解: 如何理解Nvidia英伟达的Multi-GPU多卡通信框架NCCL?(较为优秀的文章) 使用NCCL进行NVIDIA GPU卡之间的通信(GPU卡通信模式 ...
- Linux-3.14.12内存管理笔记【构建内存管理框架(2)】
前面构建内存管理框架,已经将内存管理node节点设置完毕,接下来将是管理区和页面管理的构建.此处代码实现主要在于setup_arch()下的一处钩子:x86_init.paging.pagetable ...
- Python-判断回文
# 回文单词是从左到右和从右到左读相同的单词. # 例如:"detartrated"和"evitative"是回文 str_in = input('Input: ...
- The Preliminary Contest for ICPC Asia Nanjing 2019
传送门 A. The beautiful values of the palace 题意: 给出一个\(n*n\)的矩阵,并满足\(n\)为奇数,矩阵中的数从右上角开始往下,类似于蛇形填数那样来填充. ...
- 201871010102-常龙龙《面向对象程序设计(java)》第十二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 洛谷 P3373 【模板】线段树 2
洛谷 P3373 [模板]线段树 2 洛谷传送门 题目描述 如题,已知一个数列,你需要进行下面三种操作: 将某区间每一个数乘上 xx 将某区间每一个数加上 xx 求出某区间每一个数的和 输入格式 第一 ...