上一主题

numpy.require

下一主题

numpy.stack

numpy.concatenate

numpy.concatenate((a1, a2, ...), axis=0)

沿现有轴连接数组序列。

参数:

a1,a2,...:array_like的序列

数组必须具有相同的形状,除了在对应于axis(默认情况下为第一个)的维度中。

axis:int,可选

数组将沿其连接的轴。默认值为0。

返回:

res:ndarray

串联的数组。

也可以看看

ma.concatenate
连接保留输入掩码的函数。
array_split
将数组拆分成等于或接近相等大小的多个子数组。
split
将数组拆分成等大小的多个子数组的列表。
hsplit
水平(列方式)将数组拆分成多个子数组,
vsplit
垂直(逐行)将数组拆分成多个子数组
dsplit
将数组沿着第3轴(深度)拆分成多个子数组。
stack
沿着新轴堆叠数组的序列。
hstack
水平(列方式)堆叠数组
vstack
堆栈数组垂直(行)
dstack
按照深度顺序堆叠数组(沿第三维)

笔记

当要连接的一个或多个数组是MaskedArray时,此函数将返回MaskedArray对象而不是ndarray,但输入掩码不保留在期望MaskedArray作为输入的情况下,请使用来自屏蔽数组模块的ma.concatenate函数。

例子

>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6]])
>>> np.concatenate((a, b), axis=0)
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.concatenate((a, b.T), axis=1)
array([[1, 2, 5],
       [3, 4, 6]])

此函数不会保留MaskedArray输入的屏蔽。

>>> a = np.ma.arange(3)
>>> a[1] = np.ma.masked
>>> b = np.arange(2, 5)
>>> a
masked_array(data = [0 -- 2],
             mask = [False  True False],
       fill_value = 999999)
>>> b
array([2, 3, 4])
>>> np.concatenate([a, b])
masked_array(data = [0 1 2 2 3 4],
             mask = False,
       fill_value = 999999)
>>> np.ma.concatenate([a, b])
masked_array(data = [0 -- 2 2 3 4],
             mask = [False  True False False False False],
       fill_value = 999999)