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
廣告