最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python基础:numpy中vstack和hstack函数

    正文概述    2020-09-25   370

    今天小编就numpy中vstack和hstack两个函数问题为大家进行讲解。

    vstack和hstack都是numpy中用于合并两个小数组的函数。他们俩不仅名字很像,用法也很像,所以很容易搞混。首先需要明确几个共性:

    1.两个函数都只接收一个参数:vstack(tup)和hstack(tup)。但是,正如前面说到的,这两个函数是用于合并两个数组的,所以我们需要传递两个数组。于是vstack和hstack接收一个元组,这个元组有两个元素,分别是需要操作的两个数组。

    用法如vstack((list1, list2))。注意是两个括号


    2.在使用vstack时,要求“行数”一致(即第一维大小相等);使用hstack时,要求“列数”,否则有error。


    3.输入两个数组如果是一维的(N),则会先被升维(1,N)。其他维度则不做升维处理。


    再看看二者的不同之处。先从名字来理解,stack有“堆叠”的意思,而v指vertical——“垂直的”,h指horizontal——“水平的”。也就是说vstack是“垂直地堆叠”,hstack是“水平地堆叠”。


    好了,接下来通过几个例子进一步了解一下vstack和hstack。


    import numpy as np if __name__ == '__main__':    ls1 = [1,2,3]    ls2 = [4,5,6]    ls3 = [[1,2], [3,4]]    ls4 = [[5,6], [7,8]]    ls5 = [[[1],[2]], [3,4]]    ls6 = [[[5],[6]], [7,8]]    print(np.vstack((ls1, ls2)))    print(np.hstack((ls1, ls2)))    print(np.vstack((ls3, ls4)))    print(np.hstack((ls3, ls4)))    print(np.vstack((ls5, ls6)))    print(np.hstack((ls5, ls6)))


    面程序的输出:


    [[1 2 3] [4 5 6]] [1 2 3 4 5 6] [[1 2] [3 4] [5 6] [7 8]] [[1 2 5 6] [3 4 7 8]] [[list([1]) list([2])] [3 4] [list([5]) list([6])] [7 8]] [[list([1]) list([2]) list([5]) list([6])] [3 4 7 8]]


    乍一看可能不好理解,一维数组和多维数组的处理方式并不相同。但是从上面的程序我们不难发现,我们只需要将一维的数组升维到二维,就可以将两种处理方式统一:可以将数组都看成“二维”,只不过高维数组的元素仍是数组。

    • vstack:按索引取出每个元素,“并排”放入新的数组。如[ 1 , 2 ] [1,2][1,2][ 3 , 4 ] [3,4][3,4],就会变成

    [1,2]

    [3,4]

    当然,在数组中会以逗号分隔

    • hstack:按索引取出每个元素,“合并”放入新的数组。

    [ 1 , 2 ] [1,2][1,2][ 3 , 4 ] [3,4][3,4],就会变成

    [1,2,3,4]

    当然,在数组中会以逗号分隔

    需要特别注意的是


    np.hstack((ls1, ls2))


    这一个,在升维得到结果后,如果仍是(1,N)维的,就变回(N)维。


    以上就是numpy中vstack和hstack函数的详细讲解。更多Python学习推荐:起源地模板网教学中心


    起源地下载网 » Python基础:numpy中vstack和hstack函数

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元