python numpy stack

本文探讨了NumPy中stack函数的应用,详细解析了通过指定axis参数如何改变数组形状及元素坐标,帮助读者掌握高效数组操作技能。

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

随机构造两个数组:

c = [[1,2,3,4],[5,6,7,8]]
d = [[10,20,30,40],[50,60,70,80]]

这两个数组没有形状,
print(c.shape)会报错

但是可以把这两个数组理解为(2,4)形状的数组,

或者是(–2,–4,–),短线待会儿用到

1.stack后,数组形状的变化

现在np.stack((c,d),axis = 0),相当于第一个短线被 ’2‘替换

>>> np.stack((c,d),axis = 0).shape
(2, 2, 4)

现在np.stack((c,d),axis = 1),相当于第二个短线被 ’2‘替换

np.stack((c,d),axis = 1).shape
(2, 2, 4)

现在np.stack((c,d),axis = 2),相当于第三个短线被 ’2‘替换

np.stack((c,d),axis = 2).shape
(2, 4, 2)

2.stack,元素坐标的变化

stack中,元素的坐标发生改变

看c中“5”元素的变化,stack之前,c[1,0]=5,或者c[–,1,–,0,–]=5
现在np.stack((c,d),axis = 2),把第二个短线换为0,新数组 A[1,0,0]=5;

看d中“50”元素的变化,stack之前,d[1,0]=50,或者d[–,1,–,0,–]
现在np.stack((c,d),axis = 2),把第二个短线换为1,新数组 A[1,0,1]=50;

np.stack((c,d),axis = 2)

array([[[ 1, 10],
        [ 2, 20],
        [ 3, 30],
        [ 4, 40]],

       [[ 5, 50],
        [ 6, 60],
        [ 7, 70],
        [ 8, 80]]])

3.总结:

stack中,axis是轴的意思,这个轴可以理解为新数组形状的变化(对应标题1),也可以理解为坐标中的空白位置(对应标题2),axis代表在某一维度进行操作,这个维度就是前面的短线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值