009.Numpy组合数组

Posted TommyLiuZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了009.Numpy组合数组相关的知识,希望对你有一定的参考价值。

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)
    在这里插入图片描述

以上是关于009.Numpy组合数组的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 组合数求解,不用BigInteger

Java中如何把两个数组合并为一个

如何将两个有序数组合并为一个有序数组,用函数做,一个循环搞定?

有序数组合并

JAVA怎么合并两个数组

js 多个数组合并 每一个值对应一个数组