009.Numpy组合数组

本文介绍了Numpy库中的concatenate和stack函数,用于数组的组合和堆叠。concatenate函数允许沿着特定轴合并不同形状的数组,而stack函数则用于将相同形状的数组沿新轴堆叠,形成更高维度的数组。通过实例展示了不同参数设置下的操作效果,包括一维、二维及三维数组的合并与堆叠,强调了轴的方向和形状匹配的重要性。

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

009.Numpy组合数组

1.numpy.concatenate((a1, a2, …), axis=0, out=None, dtype=None, casting=“same_kind”)

  • 功能:根据给定的现有轴连接数组
  • 常用的参数:
    1. (a1, a2, …)
      - a1,a2,…array_like序列
      - 除了对应于给定轴的对应位置上形状可以不同外,其余形状必须是相同的才能合并
    2. axis
      - 默认为0轴
  • 练习:
    多个一维数组合并(简单)
    在这里插入图片描述
    一维和二维数组的合并(不可行)
    在这里插入图片描述 合并的多个数组必须是相同维度的
    二维数组和二维数组的合并
    在这里插入图片描述
    默认是0轴,也就是说两个数组的shape[0]可以不同,但是shape[1]必须是相同的,a和b显然不符合该条件
    在这里插入图片描述
    满足shape[1]相同的条件,默认axis=0, shape[0]做加法,得到新的shape
    在这里插入图片描述
    指定了axis=1, 所以shape[1]可以不一样,其余的shape必须是一样的,shape[1]做加法,得到新的shape
    多个三维数组的合并
    在这里插入图片描述
    在这里插入图片描述
    shape[2]是不同的,其余shape是相同的,所以能进行合并,shape[2]做加法,得到新的shape

2.numpy.stack(arrays, axis=0, out=None)

  • 功能:沿新轴连接一系列数组(在指定轴上增加维度),形成一个新的数组
  • 常用参数:
    1.arrays表示要堆叠(合并)的多个数组(用元组表示),必须是同shape的
    2.axis参数指定结果范围内新轴的索引
    • 如果axis = 0,它将是第一个尺寸
    • 如果axis = -1,它将是最后的尺寸
  • 练习
    产生五个同shape的数组,堆叠会形成一个维度值为5
    在这里插入图片描述
    将堆叠形成的新维度作为shape[0], axis=0
    在这里插入图片描述
    将堆叠形成的新维度作为shape[1], axis=1
    在这里插入图片描述
    将堆叠形成的新维度作为shape[2], axis=2
    在这里插入图片描述
    可以很容易根据shape猜测出axis=0和axis=1情况下得到的数组
    在这里插入图片描述
    在这里插入图片描述
    对于axis=2情况下形成的数组,shape[2]为5,则从每个array的相同位置取一个,形成5
    在这里插入图片描述
    两个一维数组的合并
    在这里插入图片描述
  • 两个同shape的数组堆叠,产生一个维度2
    将新的维度作为shape[0]
    在这里插入图片描述
    将新的维度作为shape[1]
    在这里插入图片描述
    将新的维度作为现有维度的后一个维度,axis=-1(原始的a、b都只有一个维度,即shape[0],后一个维度就是shape[1],所以结果同axis=1)
    在这里插入图片描述
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值