numpy.concatenate#

numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")#

沿现有轴连接一系列数组.

参数:
a1, a2, …sequence of array_like

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

axisint, 可选

将要连接数组的轴.如果轴为 None,则在连接前将数组展平.默认为 0.

outndarray, 可选

如果提供,结果的放置目标.形状必须正确,匹配在不指定 out 参数的情况下 concatenate 将返回的内容.

dtypestr 或 dtype

如果提供,目标数组将具有此数据类型.不能与 out 一起提供.

在 1.20.0 版本加入.

casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}, 可选

控制可能发生的数据转换类型.默认为 ‘same_kind’.有关选项的描述,请参见 casting.

在 1.20.0 版本加入.

返回:
resndarray

连接后的数组.

参见

ma.concatenate

保留输入掩码的连接函数.

array_split

将一个数组拆分为多个大小相等或接近相等的子数组.

split

将数组拆分为多个等大小的子数组列表.

hsplit

将数组水平(按列)分割成多个子数组.

vsplit

将数组垂直(按行)拆分为多个子数组.

dsplit

将数组沿第3轴(深度)分割成多个子数组.

stack

沿新轴堆叠一系列数组.

block

从块中组装数组.

hstack

按顺序水平堆叠数组(按列).

vstack

按顺序垂直(按行)堆叠数组.

dstack

按顺序深度堆叠数组(沿第三维度).

column_stack

将一维数组作为列堆叠成二维数组.

备注

当要连接的数组中有一个或多个是 MaskedArray 时,此函数将返回一个 MaskedArray 对象而不是 ndarray,但输入掩码 不会 被保留.在需要 MaskedArray 作为输入的情况下,请改用掩码数组模块中的 ma.concatenate 函数.

示例

>>> import numpy as np
>>> 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]])
>>> np.concatenate((a, b), axis=None)
array([1, 2, 3, 4, 5, 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)