NumPy concatenate() 函数



NumPy 的concatenate()函数用于沿现有轴连接一系列数组。此函数接收一个要连接的数组元组或列表,以及一个可选的axis参数,该参数指定要沿其连接数组的轴。

如果没有提供axis,则在连接之前会将数组展平。此函数对于组合各种维度的数组非常有用,无论是在垂直方向、水平方向还是沿任何指定的轴堆叠它们。

语法

NumPy concatenate() 函数的语法如下:

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

参数

以下是 NumPy concatenate() 函数的参数:

  • a1, a2, ...: array_like : 这些是要连接的数组。除了对应于axis的维度之外,它们必须具有相同的形状。
  • axis(int, 可选): 要沿其连接数组的轴。默认为 0。如果 axis 为 None,则在使用前会将数组展平。
  • out(ndarray, 可选): 如果提供,则为放置结果的目标位置。它必须具有正确的形状才能容纳输出。
  • dtype(数据类型, 可选): 用于输出数组的类型。默认情况下,dtype 将从输入推断。
  • casting({'no', 'equiv', 'safe', 'same_kind', 'unsafe'}, 可选): 控制可以发生哪种数据转换。默认为 'same_kind'。

返回值

它返回连接后的数组。

示例 1

以下示例演示了 NumPy concatenate() 函数,它演示了沿默认轴 (axis=0) 连接两个一维数组,从而得到一个一维数组:

import numpy as np

# Define two 1-D arrays
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# Concatenate along the default axis (axis=0)
result = np.concatenate((array1, array2))

print("Result of concatenation:", result)	

输出

Result of concatenation: [1 2 3 4 5 6]

示例 2

在下面的示例中,我们演示了如何沿行 (axis=0) 连接两个二维数组,从而得到一个具有更多行的二维数组。

import numpy as np

# Define two 2-D arrays
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# Concatenate along axis 0 (rows)
result = np.concatenate((array1, array2), axis=0)

print("Result of concatenation along axis 0:", result)

输出

Result of concatenation along axis 0:
 [[1 2]
 [3 4]
 [5 6]
 [7 8]]

示例 3

通过在 concatenate() 函数中定义 axis=1,我们可以沿列连接两个二维数组,从而得到一个具有更多列的二维数组。以下是它的示例:

import numpy as np

# Define two 2-D arrays
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# Concatenate along axis 1 (columns)
result = np.concatenate((array1, array2), axis=1)

print("Result of concatenation along axis 1:", result)

输出

Result of concatenation along axis 1:
 [[1 2 5 6]
 [3 4 7 8]]
numpy_array_manipulation.htm
广告