Numpy中stack(),hstack(),vstack()函数详解
这三个函数有些相似性,都是堆叠数组,里面最难理解的应该就是stack()函数了,我查阅了numpy的官方文档,在网上又看了几个大牛的博客,发现他们也只是把numpy文档的内容照搬,看完后还是不能理解,最后经过本人代码分析,算是理解了stack()函数增加维度的含义。以下内容我会用通俗易懂的语言解释,内容可能有点多,耐心看,如果哪里说的不对,欢迎纠正!
1. stack()函数
函数原型为:stack(arrays, axis=0),arrays可以传数组和列表。axis的含义我下面会讲解,我们先来看个例子,然后我会分析输出结果。
import numpy as np
a=[[1,2,3],
[4,5,6]]
print("列表a如下:")
print(a)
print("增加一维,新维度的下标为0")
c=np.stack(a,axis=0)
print(c)
print("增加一维,新维度的下标为1")
c=np.stack(a,axis=1)
print(c)
输出:
列表a如下:
[[1, 2, 3], [4, 5, 6]]
增加一维,新维度下标为0
[[1 2 3]
[4 5 6]]
增加一维,新维度下标为1
[[1 4]
[2 5]
[3 6]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
首先这里arrays我传的是一个列表,现在我开始讲解这个stack()函数的意思,它就是对arrays里面的每个元素(可能是个列表,元组,或者是个numpy的数组)变成numpy的数组后,再对每个元素增加一维(至于维度加在哪里,是靠axis控制的),然后再把这些元素串起来(至于怎么串,我下面会说)。
arrays里面的每个元素必须形状是一样的,例如本例中列表a中的两个元素[1,2,3]和[4,5,6]的形状是一样的,如果把[4,5,6]换成[4,5] ,那么程序会报错!而axis代表的是在哪个维度上加一维,例如axis=0(它是默认的)代表的就是增加的这一维的下标为0,axis等于多少不是随便乱写的,如果参数arrays里面的每个元素是个1维的,那么调用stack()函数增加一维后会变成2维的,所以axis只能等于0和1(维度的下标是从0开始的),而参数axis=0和axis=1得到的结果是不一样的。
例如上面的代码中a列表中的第一个元素为[1,2,3],那么当axis=0的时候,就是在它的中括号外面再加一个中括号,变成[ [1,2,3] ](其实1,2,3之间是没有逗号的,因为stack()函数会先把参数arrays中的每个元素变成numpy的数组,数组之间是没有逗号的,看看上面的代码输出就知道了,这里大家明白就行,我为了方便讲解,下面还会加上逗号),这样最外面那层中括号才代表维度下标为0的那维;当axis=1的时候,就是在里面加个中括号,变成了[ [1],[2],[3] ],这样里面加的那层中括号才代表维度下标为1的那维。同理当axis=0的时候[4,5,6]变成[ [ 4,5,6] ],当axis=1的时候,变成[ [4],[5],[6] ]。下面我们讲如何把增加一维度后的每个元素串起来。
怎么把上面那两个元素增加维度后的结果串起来呢,其实很简单。现在我们已经知道了增加维度无非是增加中括号的意思,至于在哪里加中括号,取决于axis等于几。我们把增加的中括号想像成一个个的箱子。还拿上面的代码来说,当axis=0的时候,我们把套在[1,2,3]外面的中括号(就是[ [1,2,3] ]最外层的那个中括号)看做是箱子A,这个箱子A也会套在[4,5,6]的外面,所以我们就先把[1,2,3]和[4,5,6]放在一起,变成[1,2,3],[4,5,6],然后再一起套上箱子A,变成[ [1,2,3],[4,5,6] ]这就是当axis=0的时候程序的输出结果。
现在再来看当axis=1的时候,对于[1,2,3],我们把套在1外面的箱子(就是上面讲的[ [1],[2],[3] ]中1外面的那层中括号)看做A,套在2外面的看做B,套在3外面的看做C,同理,箱子A也会套在4的外面,箱子B也会套在5的外面,箱子C也会套在6的外面。那么我们就把1和4放一起,2和5放一起,3和6放一起,变成[ 1,4 ,2,5 ,3,6 ]然后把箱子A,B,C分别套在1,4 , 2,5 , 3,6的外面,变成[ [1,4] , [2,5] , [3,6] ]这就是程序中axis=1的时候程序的输出结果。
大家发现了没有,串起来的时候其实就是把arrays中每个元素在相同的位置套箱子的一些小块(这里叫小块这个名词可能不洽当,但是大家明白就行)放在一起后,再套箱子,就是外面套个中括号,这就是堆叠。
再看下面的代码的输出,测试下你理解的没有。
import numpy as np
a=[[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]
print("列表a如下:")
print(a)
print("增加一维,新维度的下标为0")
c=np.stack(a,axis=0)
print(c)
print("增加一维,新维度的下标为1")
c=np.stack(a,axis=1)
print(c)
输出:
列表a如下:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
增加一维,新维度的下标为0
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
增加一维,新维度的下标为1
[[ 1 5 9]
[ 2 6 10]
[ 3 7 11]
[ 4 8 12]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
不知道和你想象的输出一样不一样,还有另一种情况,先看下面的代码。
import numpy as np
a=[1,2,3,4]
b=[5,6,7,8]
c=[9,10,11,12]
print("a=",a)
print("b=",b)
print("c=",c)
print("增加一维,新维度的下标为0")
d=np.stack((a,b,c),axis=0)
print(d)
print("增加一维,新维度的下标为1")
d=np.stack((a,b,c),axis=1)
print(d)
输出:
('a=', [1, 2, 3, 4])
('b=', [5, 6, 7, 8])
('c=', [9, 10, 11, 12])
增加一维,新维度的下标为0
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
增加一维,新维度的下标为1
[[ 1 5 9]
[ 2 6 10]
[ 3 7 11]
[ 4 8 12]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
你会发现输出结果和上面的代码一样,其实它俩就是一样的。只不过当你对arrays传参的时候,如果你传的参数是类似于(a,b,c)这种,它会把(a,b,c)当做一个元组来看,a,b,c都是元组的每个元素。然后分别对每个元素处理,上面我已经说了,arrays传的参数可以是列表,元组,或者numpy数组。所以传(a,b,c)和传[a,b,c]或者当x=[a,b,c]的时候传x,效果都是一样的。
上面的代码处理的arrays元素都是一维变二维的情况,下面我们看看二维变三维是什么样的。
import numpy as np
a=[[1,2,3],
[4,5,6]]
b=[[1,2,3],
[4,5,6]]
c=[[1,2,3],
[4,5,6]]
print("a=",a)
print("b=",b)
print("c=",c)
print("增加一维,新维度的下标为0")
d=np.stack((a,b,c),axis=0)
print(d)
print("增加一维,新维度的下标为1")
d=np.stack((a,b,c),axis=1)
print(d)
print("增加一维,新维度的下标为2")
d=np.stack((a,b,c),axis=2)
print(d)
输出:
('a=', [[1, 2, 3], [4, 5, 6]])
('b=', [[1, 2, 3], [4, 5, 6]])
('c=', [[1, 2, 3], [4, 5, 6]])
增加一维,新维度的下标为0
[[[1 2 3]
[4 5 6]]
[[1 2 3]
[4 5 6]]
[[1 2 3]
[4 5 6]]]
增加一维,新维度的下标为1
[[[1 2 3]
[1 2 3]
[1 2 3]]
[[4 5 6]
[4 5 6]
[4 5 6]]]
增加一维,新维度的下标为2
[[[1 1 1]
[2 2 2]
[3 3 3]]
[[4 4 4]
[5 5 5]
[6 6 6]]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
当axis=0的时候,列表a,b,c最外面都需要套箱子(就是加中括号),那么我把你们先放一起,变成下面这样
[[1,2,3],[4,5,6]],
[[1,2,3],[4,5,6]],
[[1,2,3],[4,5,6]]
- 1
- 2
- 3
然后在最外面套箱子,变成
[
[[1,2,3],[4,5,6]],
[[1,2,3],[4,5,6]],
[[1,2,3],[4,5,6]]
]
- 1
- 2
- 3
- 4
- 5
当axis=1的时候,列表a,b,c中的[1,2,3]需要套同样的箱子,列表a,b,c中的[4,5,6]需要套同样的箱子,好,我先把你们放一块变成下面这样
[
[1,2,3],[1,2,3],[1,2,3]
,
[4,5,6],[4,5,6],[4,5,6]
]
- 1
- 2
- 3
- 4
- 5
- 6
然后开始分别在 [1,2,3],[1,2,3],[1,2,3]的外面和[4,5,6],[4,5,6],[4,5,6]的外面套箱子,变成下面这样
[
[[1,2,3],[1,2,3],[1,2,3]]
,
[[4,5,6],[4,5,6],[4,5,6]]
]
- 1
- 2
- 3
- 4
- 5
- 6
当axis=2的时候,列表a,b,c中的1,2,3,4,5,6都需要套箱子,我把你们先放一起变成:
[
[1,1,1 , 2,2,2 , 3,3,3],
[4,4,4 , 5,5,5 , 6,6,6]
]
- 1
- 2
- 3
- 4
然后在1,1,1 ………6,6,6的外面分别套箱子变成:
[
[[1,1,1] , [2,2,2] , [3,3,3]],
[[4,4,4] , [5,5,5] , [6,6,6]]
]
- 1
- 2
- 3
- 4
关于stack()函数就讲这么多,这也是我全部理解的部分。
2. hstack()函数
函数原型:hstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。看下面的代码体会它的含义
import numpy as np
a=[1,2,3]
b=[4,5,6]
print(np.hstack((a,b)))
输出:[1 2 3 4 5 6 ]
- 1
- 2
- 3
- 4
- 5
- 6
import numpy as np
a=[[1],[2],[3]]
b=[[1],[2],[3]]
c=[[1],[2],[3]]
d=[[1],[2],[3]]
print(np.hstack((a,b,c,d)))
输出:
[[1 1 1 1]
[2 2 2 2]
[3 3 3 3]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
它其实就是水平(按列顺序)把数组给堆叠起来,vstack()函数正好和它相反。
3. vstack()函数
函数原型:vstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。看下面的代码体会它的含义
import numpy as np
a=[1,2,3]
b=[4,5,6]
print(np.vstack((a,b)))
输出:
[[1 2 3]
[4 5 6]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
import numpy as np
a=[[1],[2],[3]]
b=[[1],[2],[3]]
c=[[1],[2],[3]]
d=[[1],[2],[3]]
print(np.vstack((a,b,c,d)))
输出:
[[1]
[2]
[3]
[1]
[2]
[3]
[1]
[2]
[3]
[1]
[2]
[3]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
它是垂直(按照行顺序)的把数组给堆叠起来。
<div class="recommend-box"><div class="recommend-item-box type_blog clearfix" data-report-click="{"mod":"popu_614","dest":"https://blog.csdn.net/ygys1234/article/details/79872694","strategy":"BlogCommendFromMachineLearnPai2","index":"0"}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ygys1234/article/details/79872694" target="_blank" rel="noopener" title="numpy函数hstack,vstack,dstack简介">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>numpy</em><em>函数</em><em>hstack</em>,<em>vstack</em>,d<em>stack</em>简介 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">04-11</span>
<span class="read-num hover-hide">
阅读数
4341</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ygys1234/article/details/79872694" target="_blank" rel="noopener" title="numpy函数hstack,vstack,dstack简介">
<span class="desc oneline"> vstack、hstack和dstack都用于把几个小数组合并成一个大数组。它们的差别是小数组的元素在大数组中的排列顺序有所不同。把两部手机摆到一起有几种方式?水平的左右排列,垂直的上下排列,...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" rel="noopener" href="https://blog.csdn.net/ygys1234">来自: <span class="blog_title"> 一个元素的专栏</span></a>
</span>
</p>
</div>
</div>
[[[1 2 3] [4 5 6]]
[[1 2 3] [4 5 6]]
[[1 2 3] [4 5 6]]
]
为例(323),既然是堆叠,那么axes=0,就是以0这个纬度的元素为单位,即([[1 2 3] [4 5 6]]、[[1 2 3] [4 5 6]]、[[1 2 3] [4 5 6]]),按顺序排(堆)起来,可以得到预期结果;axes=1,就是以1这个纬度的元素为单位([1 2 3]、[4 5 6])、([1 2 3]…进行堆叠;axes=2,就是以2这个纬度的元素为单位(1、2、3、4、5、6)、(1、2…。
加上小括号是为了理解按顺序堆叠的“顺序”。(1年前#10楼)查看回复(1)举报回复
-
-
neu_张康 回复 yangsong95: 每个的理解不一样,如果按照你的理解能和运行后的代码结果对应上,那么也可以按照自己的方法理解。这里的axis等于多少和中括号[]添加的位置是紧密联系的,“放在一起”这个过程其实就是每个元组对应位置的元素相堆叠,“套箱子”就是在哪个位置加中括号[]。首先找出需要在元组上套箱子的位置,例如其中某个元组为[1 2 3],根据axis,判断是在1 、2 、3外面套箱子变成[[1] [2] [3]],还是直接在[1 2 3]外面套箱子变成[[1 2 3]],然后再合并其他元组对应位置的元素。 (1年前 ) 举报回复
-
-
-
牙哥: 楼主的套盒子,我看的比较晕(楼主是怎么确定最后 ndarray维数的?),我觉 ndarray 最主要关注维数,对于这个 stack 既然是加维数,那么我只要关注加到哪一维就可以了,如果 axis 是 k,那么我就在 k 维加上 stack 的对象(list tup 什么的)个数,代码如下:
import numpy as np
a=[[1,2,3],
[4,5,6]]
b=[[1,2,3],
[4,5,6]]
c=[[1,2,3],
[4,5,6]]
d=[[1,2,3],
[4,5,6]]
e=[[1,2,3],
[4,5,6]]
print(“a=”,a)
x=np.stack((a,b,c,d,e),axis=0)
y=np.stack((a,b,c,d,e),axis=1)
z=np.stack((a,b,c,d,e),axis=2)print(“x shape :”)
print(x.shape)
print(x)print(“y shape :”)
print(y.shape)
print(y)print(“z shape :”)
print(z.shape)
print(z)(1年前#8楼)查看回复(1)举报回复 -
- 上一页
- 1
- 2
- 下一页
查看 30 条热评
np.vstack()和np.hstack()
03-13 阅读数 2万+
在这里我们介绍两个拼接数组的方法:np.vstack():在竖直方向上堆叠np.hstack():在水平方向上平铺importnumpyasnparr1=np.array([1,2,3])arr2=n... 博文 来自: coder
Numpy中stack(),hstack(),vstack()函数的使用方法
09-04 阅读数 3202
Numpy中stack(),hstack(),vstack()函数详解-CSDN博客https://blog.csdn.net/csdn15698845876/article/details/7338... 博文 来自: 净的博客
numpy中meshgrid的使用
04-07 阅读数 3万+
meshgrid函数通常在数据的矢量化上使用,但是使用的方法我暂时还不是很明确。而meshgrid的作用适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。接... 博文 来自: 小灰笔记
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_59" data-pid="59" data-report-view="{"mod":"kp_popu_59-78","keyword":""}" data-report-click="{"mod":"kp_popu_59-78","keyword":""}"><script type="text/javascript"> (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div style="" id="' + s + '"></div>'); (window.slotbydup = window.slotbydup || []).push({ id: "u3491668", container: s }); })();
python中numpy的stack、vstack、hstack、concatenate、
02-12 阅读数 5219
在python的numpy库中有一个函数np.stack(),看过一些博文后觉得别人写的太复杂,然后自己有了一些理解之后做了一些比较简单的解释np.stack首先stack函数用于堆叠数组,其调用方式... 博文 来自: Zamirquito的博客
Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()
05-11 阅读数 8万+
感觉numpy.hstack()和numpy.column_stack()函数略有相似,numpy.vstack()与numpy.row_stack()函数也是挺像的。stackoverflow上也有... 博文 来自: GarfieldEr007的专栏
stack的常见用法
08-26 阅读数 3675
stack翻译为栈,时STL中实现的一个后进先出的容器1、stack的定义【头文件】#include&lt;stack&gt;usingnamespace;定义方法与其他容器相同,ty... 博文 来自: ZMST的博客
Python numpy函数之stack(),vstack(),hstack(),dstack(),vsplit()和concatenate()
11-20 阅读数 2276
感觉numpy.hstack()和numpy.column_stack()函数略有相似,numpy.vstack()与numpy.row_stack()函数也是挺像的。stackoverflow上也有... 博文 来自: u012501054的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_60" data-pid="60" data-report-view="{"mod":"kp_popu_60-43","keyword":""}" data-report-click="{"mod":"kp_popu_60-43","keyword":""}"><div id="three_ad8" class="mediav_ad"></div>
Python-stack,hstack
10-10 阅读数 852
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中... 博文 来自: qiumianderen的博客
std::stack 基本操作
09-10 阅读数 1887
C++Stack(堆栈)是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。c++stl栈stack的头文件为: #include&lt;s... 博文 来自: 天才樱木
<div class="recommend-item-box blog-expert-recommend-box" style="display: block;"> <div class="d-flex"> <div class="blog-expert-recommend"> <div class="blog-expert"> <div class="blog-expert-flexbox" data-report-view="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/ygys1234" target="_blank"><img src="https://avatar.csdn.net/A/A/F/3_ygys1234.jpg" alt="ygys1234" title="ygys1234"></a><span data-report-click="{"mod":"popu_710","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><span class="blog-expert-button-follow btn-red-follow" data-name="ygys1234" data-nick="ygys1234">关注</span></span></div><div class="info"><span data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/ygys1234" target="_blank"><h5 class="oneline" title="ygys1234">ygys1234</h5></a></span> <p></p><p class="article-num" title="4篇文章"> 4篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/m0_37393514" target="_blank"><img src="https://avatar.csdn.net/4/0/6/3_m0_37393514.jpg" alt="爱抠脚的coder" title="爱抠脚的coder"></a><span data-report-click="{"mod":"popu_710","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><span class="blog-expert-button-follow btn-red-follow" data-name="m0_37393514" data-nick="爱抠脚的coder">关注</span></span></div><div class="info"><span data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/m0_37393514" target="_blank"><h5 class="oneline" title="爱抠脚的coder">爱抠脚的coder</h5></a></span> <p></p><p class="article-num" title="101篇文章"> 101篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/yangsong95" target="_blank"><img src="https://avatar.csdn.net/E/2/1/3_yangsong95.jpg" alt="yangsong95" title="yangsong95"></a><span data-report-click="{"mod":"popu_710","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><span class="blog-expert-button-follow btn-red-follow" data-name="yangsong95" data-nick="yangsong95">关注</span></span></div><div class="info"><span data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/yangsong95" target="_blank"><h5 class="oneline" title="yangsong95">yangsong95</h5></a></span> <p></p><p class="article-num" title="69篇文章"> 69篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/grey_csdn" target="_blank"><img src="https://avatar.csdn.net/D/E/E/3_grey_csdn.jpg" alt="grey_csdn" title="grey_csdn"></a><span data-report-click="{"mod":"popu_710","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><span class="blog-expert-button-follow btn-red-follow" data-name="grey_csdn" data-nick="grey_csdn">关注</span></span></div><div class="info"><span data-report-click="{"mod":"popu_709","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803"}"><a href="https://blog.csdn.net/grey_csdn" target="_blank"><h5 class="oneline" title="grey_csdn">grey_csdn</h5></a></span> <p></p><p class="article-num" title="721篇文章"> 721篇文章</p><p class="article-num" title="排名:954"> 排名:954</p><p></p></div></div></div></div> </div> </div> </div> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-report-view="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36387683/article/details/83543137","strategy":"searchFromBaidu1","index":"5"}" data-report-click="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36387683/article/details/83543137","strategy":"searchFromBaidu1","index":"5"}" data-track-view="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36387683/article/details/83543137","strategy":"searchFromBaidu1","index":4,"extend1":"_"}" data-track-click="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36387683/article/details/83543137","strategy":"searchFromBaidu1","index":4,"extend1":"_"}" data-flg="true"> <a href="https://blog.csdn.net/qq_36387683/article/details/83543137" target="_blank"> <h4 class="text-truncate oneline" style="width: 641px;"><em>Numpy</em>中<em>stack</em>(),<em>hstack</em>(),<em>vstack</em>()<em>函数</em><em>详解</em> - 云中寻雾..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">4-7</span> </p> </div> </a> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-report-view="{"mod":"popu_614","dest":"https://blog.csdn.net/u011070767/article/details/80732149","strategy":"searchFromBaidu1","index":"6"}" data-report-click="{"mod":"popu_614","dest":"https://blog.csdn.net/u011070767/article/details/80732149","strategy":"searchFromBaidu1","index":"6"}" data-track-view="{"mod":"popu_614","dest":"https://blog.csdn.net/u011070767/article/details/80732149","strategy":"searchFromBaidu1","index":5,"extend1":"_"}" data-track-click="{"mod":"popu_614","dest":"https://blog.csdn.net/u011070767/article/details/80732149","strategy":"searchFromBaidu1","index":5,"extend1":"_"}" data-flg="true"> <a href="https://blog.csdn.net/u011070767/article/details/80732149" target="_blank"> <h4 class="text-truncate oneline" style="width: 633px;"><em>Numpy</em>中<em>stack</em>(),<em>hstack</em>(),<em>vstack</em>()<em>函数</em><em>详解</em> - u0110707..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">6-26</span> </p> </div> </a> </div>
基本数据结构:栈(stack)
08-13 阅读数 57
基本数据结构:栈(stack)作者:C小加更新时间:2012-8-1栈(stack)是限制插入和删除只能在一个位置上进行的线性表,该位置在表的末端,叫做栈顶。添加元素只能在尾节点后添加,删除元素只能删... 博文 来自: weixin_30384031的博客
Python numpy函数:hstack()、vstack()、stack()、dstack()、vsplit()、concatenate()
09-25 阅读数 5590
stack():沿着新的轴加入一系列数组。vstack():堆栈数组垂直顺序(行)hstack():堆栈数组水平顺序(列)。dstack():堆栈数组按顺序深入(沿第三维)。concatenate()... 博文 来自: Daisy_HJL的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_61" data-pid="61"><iframe src="https://adaccount.csdn.net/#/preview/261?m=ScpptALbQJLQbHcDyEHiiJcELbALtpQmJUSHpASXptbEbctiJHDEXnAEcHQEWDtQnXfpAotcEQbpvbSJApAbiEJEnAHcLiLESQtQ&k=" frameborder="0" width="100%" height="75px" scrolling="no"></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=ScpptALbQJLQbHcDyEHiiJcELbALtpQmJUSHpASXptbEbctiJHDEXnAEcHQEWDtQnXfpAotcEQbpvbSJApAbiEJEnAHcLiLESQtQ"></div></div><div class="recommend-item-box baiduSearch recommend-box-ident" data-report-view="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37701443/article/details/88745572","strategy":"searchFromBaidu1","index":"9"}" data-report-click="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37701443/article/details/88745572","strategy":"searchFromBaidu1","index":"9"}" data-track-view="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37701443/article/details/88745572","strategy":"searchFromBaidu1","index":8,"extend1":"_"}" data-track-click="{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37701443/article/details/88745572","strategy":"searchFromBaidu1","index":8,"extend1":"_"}" data-flg="true"> <a href="https://blog.csdn.net/qq_37701443/article/details/88745572" target="_blank"> <h4 class="text-truncate oneline" style="width: 633px;"><em>Numpy</em>中<em>stack</em>(),<em>hstack</em>(),<em>vstack</em>()<em>函数</em><em>详解</em> - 熊大的博..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">3-22</span> </p> </div> </a> </div><div class="recommend-item-box baiduSearch recommend-box-ident" data-report-view="{"mod":"popu_614","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803/","strategy":"searchFromBaidu1","index":"10"}" data-report-click="{"mod":"popu_614","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803/","strategy":"searchFromBaidu1","index":"10"}" data-track-view="{"mod":"popu_614","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803/","strategy":"searchFromBaidu1","index":9,"extend1":"_"}" data-track-click="{"mod":"popu_614","dest":"https://blog.csdn.net/csdn15698845876/article/details/73380803/","strategy":"searchFromBaidu1","index":9,"extend1":"_"}" data-flg="true"> <a href="https://blog.csdn.net/csdn15698845876/article/details/73380803/" target="_blank"> <h4 class="text-truncate oneline" style="width: 641px;"><em>Numpy</em>中<em>stack</em>(),<em>hstack</em>(),<em>vstack</em>()<em>函数</em><em>详解</em> - 张康的博..._CSDN博客</h4> <div class="info-box d-flex align-content-center"> <p> <span class="date">7-6</span> </p> </div> </a> </div>
np.hstack(),np.vstack()
01-24 阅读数 473
np.hstack,np.vstacknp.hstack():水平方向排列数组,行数不变,列数增加。一般用于三维以下的数组。np.vstack():垂直方向排列数组,列数不变,行数增加。一般用于三维以... 博文 来自: bury_pen
np.hstack(),np.vstack()解读
11-19 阅读数 574
np.hstack()是把矩阵进行行连接。np.vstack()是把矩阵进行列连接。行连接np.hstack()代码示例:importnumpyasnpa=np.array([1,2,3])b=np.... 博文 来自: lllxxq141592654的博客
np.vstack()和np.hstack()函数
02-08 阅读数 264
importnumpyasnpa=np.array([[8.,8.],[0.,0.]])b=np.array([[1.,3.],[6.,4.]])printnp.vstack((a,b))#将两个数组... 博文 来自: Rock的博客
python中关于numpy的hstack和vstack的理解
08-06 阅读数 893
例如a=m*n维矩阵b=m*n维矩阵,那么hstack(a,b)=m*2n行保持维度不变,列拼接vstack(a,b)=2m*n列保持唯独不变,行拼接案例1:importnumpyasnpa=[1,2... 博文 来自: 淮南草的博客
三分钟带你对 Softmax 划重点
06-14 阅读数 128
红色石头的个人网站:redstonewill.com1.什么是SoftmaxSoftmax在机器学习和深度学习中有着非常广泛的应用。尤其在处理多分类(C&gt;2)问题,分类器最后的输出单元需... 博文 来自: weixin_34378969的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_62" data-pid="62"><iframe src="https://adaccount.csdn.net/#/preview/264?m=EbJicSJSQntApQSJLAEAtHcDyiHLnAcSSAQpJimXHtXpDHSDpXfHEQSEAWEpcQJApAEtAbAApmEAoifJfUSpXSHtEtcJpQppEbLQ&k=" frameborder="0" width="100%" height="75px" scrolling="no"></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=EbJicSJSQntApQSJLAEAtHcDyiHLnAcSSAQpJimXHtXpDHSDpXfHEQSEAWEpcQJApAEtAbAApmEAoifJfUSpXSHtEtcJpQppEbLQ"></div></div>
【算法+OpenCV】基于opencv的直线和曲线拟合与绘制(最小二乘法)
06-05 阅读数 2万+
最小二乘法多项式曲线拟合,是常见的曲线拟合方法,有着广泛的应用,这里在借鉴最小二乘多项式曲线拟合原理与实现的原理的基础上,介绍如何在OpenCV来实现基于最小二乘的多项式曲线拟合。... 博文 来自: guduruyu的专栏
关于numpy stack,hstack,vstack
05-03 阅读数 2272
stack针对维度相同的矩阵test_1=np.array([[1,2,3],[4,5,6]])test_2=np.array([[11,12,13],[14,15,16]])#0,1,2分别代表所有... 博文 来自: u010601901的博客
python vstack
06-21 阅读数 5117
感觉numpy.hstack()和numpy.column_stack()函数略有相似,numpy.vstack()与numpy.row_stack()函数也是挺像的。stackoverflow上也有... 博文 来自: YUAN1125的专栏
C++容器用法简介——stack
02-26 阅读数 56
本文转载于http://blog.csdn.net/gscsdlz/article/details/52169463一、简介 stack是一种容器适配器(STL的容器分为顺序容器和关联容器,... 博文 来自: grace_fang的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_63" data-pid="63" data-report-view="{"mod":"kp_popu_63-624","keyword":""}" data-report-click="{"mod":"kp_popu_63-624","keyword":""}"><script type="text/javascript"> (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div style="" id="' + s + '"></div>'); (window.slotbydup = window.slotbydup || []).push({ id: "u4221910", container: s }); })();
基于PCA的人脸检测(Matlab版代码)
08-16 阅读数 489
花了几天,终于把matlab版的人脸检测运行成功了,虽然正确率不是很高,看着各种论文上的人脸检测正确率都出奇的高,我是不怎么相信的,有的论文连基于平均脸的人脸检测正确率都能达到98%,汗啊~~也许真有... 博文 来自: 海海人生
scipy.sparse.hstack vstack
04-22 阅读数 3093
首先格式是符合coo_matrix才能使用sparse进行拼接。hstack:将矩阵按照列进行拼接fromscipy.sparseimportcoo_matrix,hstack,vstackA=coo... 博文 来自: TH_NUM的博客
python_hstack
01-14 阅读数 374
看见过很多次了,一直没弄懂,今天研究了一下。参考源:https://blog.csdn.net/csdn15698845876/article/details/73380803https://blog... 博文 来自: RainyNeko的博客
Python numpy数组扩展效率问题
07-24 阅读数 1万+
Numpy库的ndarray数组可以方便地进行各种多维数据处理工作可是它最大的缺点就是不可动态扩展——“NumPy的数组没有这种动态改变大小的功能,numpy.append()函数每次都会重新分配整个... 博文 来自: TITANIC上的小景
【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法
01-17 阅读数 9万+
meshgrid函数用来生成网格矩阵,可以是二维网格矩阵,也可以是三维。对于生成二维网格,用法为:[xy]=meshgrid(ab); %a和b是一维数组,如a=[123];b=[234];则生成的x... 博文 来自: Trey_CSDN 的CSDN博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_64" data-pid="64" data-report-view="{"mod":"kp_popu_64-626","keyword":""}" data-report-click="{"mod":"kp_popu_64-626","keyword":""}"><script type="text/javascript"> (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div style="" id="' + s + '"></div>'); (window.slotbydup = window.slotbydup || []).push({ id: "u3600856", container: s }); })();
KFold,StratifiedKFold k折交叉切分
09-08 阅读数 3万+
StratifiedKFold用法类似Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同。例子:importnumpyasnpfromsklearn.model_se... 博文 来自: wqh_jingsong的专栏
numpy中hstack和reshape的使用示例
07-10 阅读数 569
data=[]label=[]np.random.seed(0)foriinrange(5):x1=np.random.uniform(-1,1)x2=np.random.uniform(0,2)if... 博文 来自: weixin_42656991的博客
EGE 在Dev下的环境配置 和 第一个绘图程序
05-06 阅读数 1万+
EGE(EasyGraphicsEngine),是windows下的简易绘图库,是一个类似BGI(graphics.h)的面向C/C++语言新手的图形库,它的目标也是为了替代TC的BGI库而存在。从它... 博文 来自: Jaster_wisdom的专栏
numpy的各种堆叠方法总结 vstack hstack append concatenate column_stack row_stack c_ r_
12-24 阅读数 1442
concatenate用于堆叠矩阵,在只有一个输入矩阵时如np.concatenate(a,axis=0)#a为(2,3),按照axis制定的维度堆叠,此时指定的维度会消失,堆叠到下一个维度上,即上面... 博文 来自: qq_27292549的博客
关于二叉树的前序、中序、后序三种遍历
05-07 阅读数 18万+
二叉树遍历分为三种:前序、中序、后序,其中序遍历最为重要。为啥叫这个名字?是根据根节点的顺序命名的。比如上图正常的一个满节点,A:根节点、B:左节点、C:右节点,前序顺序是ABC(根节点排最先,然后同... 博文 来自: 迷途中的一片羽毛博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_65" data-pid="65" data-report-view="{"mod":"kp_popu_65-1378","keyword":""}" data-report-click="{"mod":"kp_popu_65-1378","keyword":""}"><script type="text/javascript"> (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div style="" id="' + s + '"></div>'); (window.slotbydup = window.slotbydup || []).push({ id: "u4221803", container: s }); })();
python使用append合并两个数组的方法
06-04 阅读数 7347
python使用append合并两个数组的方法下面小编就为大家分享一篇基于Python中numpy数组的合并实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧Python中num... 博文 来自: jiahaowanhao的博客
python-np.hstack()避坑
12-12 阅读数 1759
importtimeimportnumpyasnpfeat1=np.zeros([10000])time1=time.time()feat=np.hstack((feat1,feat1))time2=... 博文 来自: Q先森的博客
numpy基本用法
01-04 阅读数 1万+
对于python中的numpy模块,一般用其提供的ndarray对象。 创建一个ndarray对象很简单,只要将一个list作为参数即可。 例如 importnumpyasnp#引入numpy库#创建... 博文 来自: ncst
Numpy中 vstack() 和 hstack() 的用法
01-22 阅读数 269
1.概述在Numpy中,最希望处理的数据就是数组和矩阵,下面就来介绍两种拼接数组的方法:vstack()和hstack();这两种方法的用法大致相同,只是在功能上有一些区别。2.vstack()2.1... 博文 来自: Arrow and Bullet
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_66" data-pid="66" data-report-view="{"mod":"kp_popu_66-87","keyword":""}" data-report-click="{"mod":"kp_popu_66-87","keyword":""}"><div id="three_ad38" class="mediav_ad"></div>
NumPy doc (七)
05-11 阅读数 1447
np.bincount(x,weights=w)array([0.3,0.7,1.1])blackman(M)ReturntheBlackmanwindow.TheBlackmanwindowisat... 博文 来自: qianchenzhihai的博客
<div class="recommend-item-box type_hot_word"> <div class="content clearfix" style="width: 712px;"> <div class="float-left"> <span> <a href="https://www.csdn.net/gather_1d/NtjaAg3sLWRvd25sb2Fk.html" target="_blank"> c# 键值对 键可以重复</a> </span> <span> <a href="https://www.csdn.net/gather_19/NtjaAg4sLWRvd25sb2Fk.html" target="_blank"> c#把负数转整形</a> </span> <span> <a href="https://www.csdn.net/gather_1d/NtjaAg5sLWRvd25sb2Fk.html" target="_blank"> c# 鼠标移上去提示</a> </span> <span> <a href="https://www.csdn.net/gather_10/NtjaEgwsLWRvd25sb2Fk.html" target="_blank"> c#结构体定义</a> </span> <span> <a href="https://www.csdn.net/gather_18/NtjaEgxsLWRvd25sb2Fk.html" target="_blank"> 使用c#编写一个透明窗体</a> </span> <span> <a href="https://www.csdn.net/gather_1f/NtjaEgysLWRvd25sb2Fk.html" target="_blank"> api 饿了么c#</a> </span> <span> <a href="https://www.csdn.net/gather_1f/NtjaEgzsLWRvd25sb2Fk.html" target="_blank"> c# 根据网络定位</a> </span> <span> <a href="https://www.csdn.net/gather_18/NtjaEg0sLWRvd25sb2Fk.html" target="_blank"> c# 清除html标签</a> </span> <span> <a href="https://www.csdn.net/gather_15/NtjaEg1sLWRvd25sb2Fk.html" target="_blank"> c# uwp最小化</a> </span> <span> <a href="https://www.csdn.net/gather_17/NtjaEg2sLWRvd25sb2Fk.html" target="_blank"> c# 离线 翻译类</a> </span> </div> </div> </div> <div class="recommend-loading-box"> <img src="https://csdnimg.cn/release/phoenix/images/feedLoading.gif"> </div> <div class="recommend-end-box" style="display: block;"> <p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p> </div> </div> </main>