numpy.concatenate#
- numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")#
沿着现有轴连接一系列数组。
- 参数:
- a1, a2, …数组状对象的序列
除了与 axis 对应的维度(默认为第一个)外,所有数组必须具有相同的形状。
- axis整数,可选
数组将沿其连接的轴。如果 axis 为 None,则在使用前会将数组展平。默认值为 0。
- outndarray,可选
如果提供,结果将放置在此目标中。其形状必须正确,与未指定 out 参数时 concatenate 返回的形状相匹配。
- dtype字符串或 dtype
如果提供,目标数组将具有此 dtype。不能与 out 一起提供。
1.20.0 版本新增。
- casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’},可选
控制可能发生的数据类型转换。默认为 ‘same_kind’。有关选项的说明,请参阅 转换。
1.20.0 版本新增。
- 返回:
- resndarray
连接后的数组。
另请参见
ma.concatenate
保留输入掩码的连接函数。
array_split
将数组拆分为多个大小相等或近似相等的子数组。
split
将数组拆分为多个大小相等的子数组列表。
hsplit
将数组水平(按列)拆分为多个子数组。
vsplit
将数组垂直(按行)拆分为多个子数组。
dsplit
沿第三个轴(深度)将数组拆分为多个子数组。
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)