numpy之堆叠数组:stack(),hstack(),vstack()

本文介绍了如何使用numpy中的stack(), hstack(), vstack()函数来连接数组。stack()可以在指定的轴上连接数组,而hstack()和vstack()则分别沿水平方向和垂直方向堆叠数组。文章通过实例演示了这些函数的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见的主要有stack(),hstack(),vstack()这三个函数

  1. stack(),按照指定的轴对数组序列进行联结。
    共有三个参数,使用格式为numpy.stack(arrays, axis=0, out=None)
    第一个参数是要连接的数组,数组的大小(shape)需要一致,如下图,a,b可以stack连接但是a,c不行
    如图
    第二个参数是维度,axis=几,就代表以第几维的元素为单位进行叠加,结合下面的实际运行结果来说:
    a,b,c分别是2x3的矩阵,组成的新矩阵为3x2x3,想象成3个二维矩阵[[1,2,3].[4,5,6]]依次叠加在一起axis的操作都是以新矩阵3x2x3的三维矩阵为基础进行的操作。
    axis=0,就是以0这个维度的元素为单位,自成一个单位,d=3x2x3
    axis =1,就是以1这个维度的元素为单位。所以得到e=2x3x3
    axis=2, 就是以2这个维度的元素为单位。所以得到f = 2x3x3
    在这里插入图片描述

  2. hstack()
    语法格式:numpy.hstack(tup)
    参数:
    tup:要叠加的数组序列,除了一维数组的堆叠可以是不同长度外,其它数组堆叠时,除了第二个轴的长度可以不同外,其它轴的长度必须相同。
    a = np.array((1,2,3))
    b = np.array((2,3,4))
    np.hstack((a,b))
    输出:
    array([1, 2, 3, 2, 3, 4])

  3. vstack()
    沿着第一个轴堆叠数组。
    语法格式:numpy.vstack(tup)
    参数:
    tup:ndarrays数组序列,如果是一维数组进行堆叠,则数组长度必须相同;除此之外,其它数组堆叠时,除数组第一个轴的长度可以不同,其它轴长度必须一样。
    a = np.array([1, 2, 3])
    b = np.array([2, 3, 4])
    np.vstack((a,b))
    输出:
    array([[1, 2, 3],
    [2, 3, 4]])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值