Numpy中stack(),hstack(),vstack()函数用法介绍及实例.pdf

Numpy中stack(),hstack(),vstack()函数用法介绍及实例.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Numpy中stack(),hstack(),vstack()函数⽤法介绍

及实例

⽬录

1.stack()函数

2.hstack()函数

3.vstack()函数

总结

1.stack()函数

函数原型为:stack(arrays,axis=0),arrays可以传数组和列表。axis的含义我下⾯会讲解,我们先来看个例⼦,然后我会分析

输出结果。

importnumpyasnp

a=[[1,2,3],

[4,5,6]][4,5,6]]

列表a如下:如下:

print(a)print(a)

增加⼀维,新维度的下标为增加⼀维,新维度的下标为

c=np.stack(a,axis=0)

print(c)print(c)

增加⼀维,新维度的下标为增加⼀维,新维度的下标为

c=np.stack(a,axis=1)

print(c)

输出:

列表a如下:

[[1,2,3],[4,5,6]]

增加⼀维,新维度下标为0

[[123]

[456]]

增加⼀维,新维度下标为1

[[14]

[25]

[36]]

⾸先这⾥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

您可能关注的文档

文档评论(0)

135****5548 + 关注
官方认证
内容提供者

各类考试卷、真题卷

认证主体社旗县兴中文具店(个体工商户)
IP属地宁夏
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档