numpy中的stack操作

np.stack()的用法

np.stack(arrays,axis = )
numpy文档解释作用是沿新轴连接一系列数组
解释一下其中的参数
arrays:数组,要求输入每个数组必须具有相同的形状
axis :轴,意思就是沿着哪一个新轴进行stack操作,
axis=0就是第一个维度,依此类推,axis=-1就是最后一个维度
返回: 返回stack后的数组比输入数组多一个维

文档有点难以理解,我们从例子进行仔细理解

例子理解

我们从简单的一维数组开始

import numpy as np
a=np.arange(3)
b=np.arange(3,6)
print("a:",a,"a.shape:",a.shape)
print("b:",b,"b.shape:",b.shape)
#输出
#a: [0 1 2] a.shape: (3,)
#b: [3 4 5] b.shape: (3,)

使用np.stack()
采取了axis=0,也就是为原数组新增一个维度,这个维度在第0位,然后连接数组

c=np.stack((a,b),axis=0)
print("c:\n",c,"\nc.shape:",c.shape)
#输出
#c:
# [[0 1 2]
# [3 4 5]] 
#c.shape: (2, 3)

采取了axis=1,也就是为原数组新增一个维度,这个维度在第1位,然后连接数组


c=np.stack((a,b),axis=1)
print("c:\n",c,"\nc.shape:",c.shape)
#输出
#c:
# [[0 3]
# [1 4]
# [2 5]] 
#c.shape: (3, 2)

输入多个数组的stack操作

d=np.stack((a,b,-a,-b),axis=0)
print("d:\n",d,"\nd.shape:",d.shape)
#输出
#d:
# [[ 0  1  2]
# [ 3  4  5]
# [ 0 -1 -2]
# [-3 -4 -5]] 
#d.shape: (4, 3)
d=np.stack((a,b,-a,-b),axis=1)
print("d:\n",d,"\nd.shape:",d.shape)
#输出
#d:
#[[ 0  3  0 -3]
# [ 1  4 -1 -4]
# [ 2  5 -2 -5]] 
#d.shape: (3, 4)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值