numpy 拼接_numpy数组的各种拼接方法:stack和vstack,hstack,concatenate

np.stack

在numpy中的数组拼接方法,常见的有以下几个np.stack和np.vstack,np.hstack,np.concatenate,其中np.stack可能是最不好理解的理解的那一个,那么就先来看看它.

np.stack的作用是沿新轴加入一系列数组,这句话有两个重点,

一是沿新轴,而这个新轴是哪个轴,需要我们自行指定,不指定的话默认是最里边的轴.

二是加入数组,所以,运用这个方法的时候,新生成的数组时会比用来进行拼接的原数组多一个维度.

举个例子:

import numpy as np #导入numpy库

生成两个数组

arr1 = np.arange(10).reshape(2,5)

arr2 = np.arange(10,20).reshape(2,5)

arr1

arr2

返回结果

array([[0, 1, 2, 3, 4],

[5, 6, 7, 8, 9]])

array([[10, 11, 12, 13, 14],

[15, 16, 17, 18, 19]])

用np.stack进行拼接的结果直接截图展示一下,不是我偷懒不想再敲一遍代码,而是截图更直观一点:

98e649815ff5d8150592e83fbbfb41bd.png

ndarray的一个难点恐怕就是数它的轴了,我在图中标注出了哪些是外边的轴,哪些是第二个轴,哪些是最里边的轴,有一个比较简单的方法来判断这些轴,就是观察一下方括号,方括号数量越多的轴,越是在外层的轴,在这个例子中,最外侧的轴有两层方括号,从外边数第二个轴有一层方括号,这里还好一点,最难理解的是最里边的轴,最后来看一下最内侧的轴

6fc0f4283f55c005aafeee6410675d76.png

到了最内侧的轴,已经没有方括号包裹着了,赤裸裸的元素本身,最内侧的0和5是一个轴,10和15是一个轴,按轴拼接,就是0和10拼到一起,5和15拼到一起.

以上是我对np.stack方法和ndarray轴的理解,如有错误还请指正.大boss解决掉了,我们来看一下小虾米们

np.vstack,np.hstack,np.concatenate

虽然vstack和hstack这两个词里边都含有stack,但是呢很奇怪的是他俩的性质和stack一点都不像,看起来倒是和concatenate更亲近一点,这三个拼接方法,都不会增加拼接后新生成数组的维度

vstack:垂直堆栈数组(行方式)

hstack:水平排列数组(列方式)

concatenate:沿现有轴加入一系列数组,至于是想按行拼接还是按列拼接,可自行进行参数设置

这里我真的是想偷个懒直接上截图了,靴靴

1c9c68a45991bead76606620225efa4e.png

这三个方法的拼接效果是不是直观又明显,一点都不费脑子.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值