Numpy中stack(),hstack(),vstack()函数详解

Numpy中stack(),hstack(),vstack()函数详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/csdn15698845876/article/details/73380803

这三个函数有些相似性,都是堆叠数组,里面最难理解的应该就是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="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/ygys1234/article/details/79872694&quot;,&quot;strategy&quot;:&quot;BlogCommendFromMachineLearnPai2&quot;,&quot;index&quot;:&quot;0&quot;}">
<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">&nbsp;&nbsp;&nbsp;&nbsp;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>
<div class="comment-edit-box d-flex">
	<a id="commentsedit"></a>
	<div class="user-img">
		<a href="//me.csdn.net/liuxiaohuidegushi" target="_blank" rel="noopener">
			<img class="" src="https://avatar.csdn.net/9/0/F/3_liuxiaohuidegushi.jpg">
		</a>
	</div>
	<form id="commentform">
		<input type="hidden" id="comment_replyId">
		<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
		<div class="opt-box"> <!-- d-flex -->
			<div id="ubbtools" class="add_code">
				<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
			</div>
			<input type="hidden" id="comment_replyId" name="comment_replyId">
			<input type="hidden" id="article_id" name="article_id" value="73380803">
			<input type="hidden" id="comment_userId" name="comment_userId" value="">
			<input type="hidden" id="commentId" name="commentId" value="">
			<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-report-click="{&quot;mod&quot;:&quot;popu_384&quot;,&quot;dest&quot;:&quot;&quot;}"><a href="#" target="_blank" class="comment_area_btn" rel="noopener">发表评论</a></div>
			<div class="dropdown" id="myDrap">
				<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
				<div class="txt-selected text-truncate">添加代码片</div>
				<svg class="icon d-block" aria-hidden="true">
					<use xlink:href="#csdnc-triangledown"></use>
				</svg>
				</a>
				<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
					<li><a data-code="html">HTML/XML</a></li>
					<li><a data-code="objc">objective-c</a></li>
					<li><a data-code="ruby">Ruby</a></li>
					<li><a data-code="php">PHP</a></li>
					<li><a data-code="csharp">C</a></li>
					<li><a data-code="cpp">C++</a></li>
					<li><a data-code="javascript">JavaScript</a></li>
					<li><a data-code="python">Python</a></li>
					<li><a data-code="java">Java</a></li>
					<li><a data-code="css">CSS</a></li>
					<li><a data-code="sql">SQL</a></li>
					<li><a data-code="plain">其它</a></li>
				</ul>
			</div>  
			<div class="right-box">
				<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
				<input type="button" class="btn btn-sm btn-cancel d-none" value="取消回复">
				<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
			</div>
		</div>
	</form>
</div>

	<div class="comment-list-container">
	<a id="comments"></a>
	<div class="comment-list-box" style="max-height: 127px;"><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9849169" data-replyname="weixin_44167105">        <a target="_blank" href="https://me.csdn.net/weixin_44167105"><img src="https://avatar.csdn.net/9/6/6/3_weixin_44167105.jpg" alt="weixin_44167105" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/weixin_44167105"><span class="name ">每刻每天:</span></a>              <span class="comment">axis不是代表轴的方向吗?应该不是下标的意思吧</span><span class="date" title="2019-05-24 19:28:13">(3个月前</span><span class="floor-num">#22楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-read-reply" data-type="readreply">查看回复(2)</a><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9849169"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li><li class="replay-box"><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9917609" data-replyname="sunny_eedog">        <a target="_blank" href="https://me.csdn.net/sunny_eedog"><img src="https://avatar.csdn.net/9/2/5/3_sunny_eedog.jpg" alt="sunny_eedog" class="avatar"></a>          <div class="right-box reply-box">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/sunny_eedog"><span class="name mr-8">sunny_eedog</span></a><span class="text">回复</span>  <span class="nick-name">每刻每天:</span>              <span class="comment">轴方向就代表维度,x,y,z轴在多维空间里就可以理解为第0维,第1维,第2维,反正只要能理解意思就行,嘻嘻~</span><span class="date" title="2019-06-03 21:11:13">(3个月前</span><span class="text">)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9917609"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span>1</span></div></div></li><li class="comment-line-box d-flex" data-commentid="9873970" data-replyname="cxx654">        <a target="_blank" href="https://me.csdn.net/cxx654"><img src="https://avatar.csdn.net/0/5/2/3_cxx654.jpg" alt="cxx654" class="avatar"></a>          <div class="right-box reply-box">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/cxx654"><span class="name mr-8">* star *</span></a><span class="text">回复</span>  <span class="nick-name">每刻每天:</span>              <span class="comment">个人感觉作者解释成下标更好理解,下标0就是对第一维的元素套箱子,下标1就是对第二维的元素套箱子,依次类推,然后将套相同箱子的元素组合起来</span><span class="date" title="2019-05-28 19:59:37">(3个月前</span><span class="text">)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9873970"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9674982" data-replyname="m0_38140462">        <a target="_blank" href="https://me.csdn.net/m0_38140462"><img src="https://avatar.csdn.net/F/9/4/3_m0_38140462.jpg" alt="m0_38140462" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/m0_38140462"><span class="name ">m0_38140462:</span></a>              <span class="comment">请问下矩阵中的值有逗号和没有逗号有什么区别吗?</span><span class="date" title="2019-04-30 19:17:56">(4个月前</span><span class="floor-num">#21楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9674982"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9479721" data-replyname="weixin_44615415">        <a target="_blank" href="https://me.csdn.net/weixin_44615415"><img src="https://avatar.csdn.net/E/B/3/3_weixin_44615415.jpg" alt="weixin_44615415" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/weixin_44615415"><span class="name ">weixin_44615415:</span></a>              <span class="comment">其实就是按照行列在切分哈哈</span><span class="date" title="2019-04-04 22:25:04">(5个月前</span><span class="floor-num">#20楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9479721"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9449177" data-replyname="terrytdj">        <a target="_blank" href="https://me.csdn.net/terrytdj"><img src="https://avatar.csdn.net/8/4/A/3_terrytdj.jpg" alt="terrytdj" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/terrytdj"><span class="name ">小尹村:</span></a>              <span class="comment">谢谢~</span><span class="date" title="2019-04-01 09:05:10">(5个月前</span><span class="floor-num">#19楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9449177"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9294304" data-replyname="qq_41974179">        <a target="_blank" href="https://me.csdn.net/qq_41974179"><img src="https://avatar.csdn.net/5/D/5/3_qq_41974179.jpg" alt="qq_41974179" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/qq_41974179"><span class="name ">海苔色:</span></a>              <span class="comment">谢啦有用</span><span class="date" title="2019-03-09 21:10:24">(6个月前</span><span class="floor-num">#18楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9294304"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9260193" data-replyname="MoonJian">        <a target="_blank" href="https://me.csdn.net/MoonJian"><img src="https://avatar.csdn.net/0/8/C/3_moonjian.jpg" alt="MoonJian" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/MoonJian"><span class="name ">MoonJian:</span></a>              <span class="comment">太厉害了,讲的浅显易懂!</span><span class="date" title="2019-03-04 19:10:10">(6个月前</span><span class="floor-num">#17楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9260193"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9107679" data-replyname="qq_43606650">        <a target="_blank" href="https://me.csdn.net/qq_43606650"><img src="https://avatar.csdn.net/C/7/6/3_qq_43606650.jpg" alt="qq_43606650" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/qq_43606650"><span class="name ">qq_43606650:</span></a>              <span class="comment">666</span><span class="date" title="2019-01-26 10:38:31">(7个月前</span><span class="floor-num">#16楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9107679"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="9084135" data-replyname="qq_43580111">        <a target="_blank" href="https://me.csdn.net/qq_43580111"><img src="https://avatar.csdn.net/3/1/B/3_qq_43580111.jpg" alt="qq_43580111" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/qq_43580111"><span class="name ">我要开根号啦:</span></a>              <span class="comment">大哥牛逼</span><span class="date" title="2019-01-21 22:40:57">(7个月前</span><span class="floor-num">#15楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="9084135"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8746294" data-replyname="lz_peter">        <a target="_blank" href="https://me.csdn.net/lz_peter"><img src="https://avatar.csdn.net/B/E/2/3_lz_peter.jpg" alt="lz_peter" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/lz_peter"><span class="name ">dt_lizhen:</span></a>              <span class="comment">已收藏,谢谢</span><span class="date" title="2018-11-22 11:31:32">(9个月前</span><span class="floor-num">#14楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="8746294"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8737702" data-replyname="sjyttkl">        <a target="_blank" href="https://me.csdn.net/sjyttkl"><img src="https://avatar.csdn.net/6/E/4/3_sjyttkl.jpg" alt="sjyttkl" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/sjyttkl"><span class="name ">Terry_dong:</span></a>              <span class="comment">讲的很好,转载,收藏了。</span><span class="date" title="2018-11-20 17:06:31">(9个月前</span><span class="floor-num">#13楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="8737702"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8535440" data-replyname="Heifight">        <a target="_blank" href="https://me.csdn.net/Heifight"><img src="https://avatar.csdn.net/3/E/8/3_heifight.jpg" alt="Heifight" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/Heifight"><span class="name ">Heifight:</span></a>              <span class="comment">说的挺好的,还是得自己手动写才能更好的理解</span><span class="date" title="2018-10-06 21:19:39">(11个月前</span><span class="floor-num">#12楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="8535440"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8534135" data-replyname="first_three_sun">        <a target="_blank" href="https://me.csdn.net/first_three_sun"><img src="https://avatar.csdn.net/C/D/D/3_first_three_sun.jpg" alt="first_three_sun" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/first_three_sun"><span class="name ">赫连达:</span></a>              <span class="comment">多谢</span><span class="date" title="2018-10-06 10:25:19">(11个月前</span><span class="floor-num">#11楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div><div class="comment-like " data-commentid="8534135"><svg class="icon "><use xlink:href="#csdnc-thumbsup"></use></svg><span></span></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8412027" data-replyname="yangsong95">        <a target="_blank" href="https://me.csdn.net/yangsong95"><img src="https://avatar.csdn.net/E/2/1/3_yangsong95.jpg" alt="yangsong95" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://me.csdn.net/yangsong95"><span class="name ">yangsong95:</span></a>              <span class="comment">可否这样理解,以第四个代码片中的

[[[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)举报回复

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值