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”)
- 功能:根据给定的现有轴连接数组
- 常用的参数:
- (a1, a2, …)
- a1,a2,…array_like序列
- 除了对应于给定轴的对应位置上形状可以不同外,其余形状必须是相同的才能合并 - axis
- 默认为0轴
- (a1, a2, …)
- 练习:
多个一维数组合并(简单)
一维和二维数组的合并(不可行)
合并的多个数组必须是相同维度的
二维数组和二维数组的合并
默认是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组合数组的主要内容,如果未能解决你的问题,请参考以下文章