NumPy hstack() 函式



NumPy 的hstack()函式用於水平堆疊陣列。它沿水平軸(即軸1)組合一系列陣列。

所有輸入陣列必須具有相同數量的行或相容的形狀才能進行廣播,並且該函式返回一個列連線的新陣列。

此函式對於並排合併陣列非常有用,尤其是在資料處理和操作任務中。

它也適用於將多個數組組合成單個數組,其中每個陣列都作為一列新增。

語法

NumPy hstack() 函式的語法如下:

numpy.hstack(tup, *, dtype=None, casting='same_kind')

引數

以下是 NumPy hstack() 函式的引數:

  • tup: 要堆疊的陣列元組。這些陣列除了第二軸之外,沿所有軸都必須具有相同的形狀。
  • dtype: 此引數指定結果陣列的資料型別。如果提供,則所有輸入陣列在堆疊之前都將轉換為此資料型別。如果為 None,則資料型別將根據輸入陣列確定。
  • casting: 如果指定了 dtype,此引數控制型別轉換規則。它確定在轉換為 dtype 時如何處理資料型別。

返回值

此函式返回透過水平堆疊給定陣列形成的單個 ndarray。

示例 1

以下是 NumPy hstack() 函式的示例,它演示瞭如何將兩個一維陣列連線成一個一維陣列。

import numpy as np

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

# Stacking arrays horizontally
result = np.hstack((array1, array2))
print(result)

輸出

[1 2 3 4 5 6]

示例 2

此示例演示如何重塑一維陣列並將其與二維陣列堆疊,展示了 numpy.hstack() 在混合維度下的靈活性。

import numpy as np

# Creating a 2D array and a 1D array
array1 = np.array([[1, 2, 3], [4, 5, 6]])
array2 = np.array([7, 8])

# Reshape array2 to be a column vector with the same number of rows as array1
# Note: array2 needs to have the same number of rows as array1 for successful horizontal stacking
array2 = np.array([7, 8]).reshape(-1, 1)  # Reshape to (2, 1) to match the number of rows in array1

# Stack arrays horizontally
result = np.hstack((array1, array2))

print("Resulting Array:")
print(result)

輸出

Resulting Array:
[[1 2 3 7]
 [4 5 6 8]]

示例 3

在此示例中,我們將兩個陣列組合成一個數組。

import numpy as np

# Define the first array
a = np.array([[1, 2], [3, 4]])

print('First array:')
print(a)
print('\n')

# Define the second array
b = np.array([[5, 6], [7, 8]])

print('Second array:')
print(b)
print('\n')

# Horizontally stack the two arrays
c = np.hstack((a, b))

print('Horizontal stacking:')
print(c)
print('\n')

輸出

First array:
[[1 2]
 [3 4]]


Second array:
[[5 6]
 [7 8]]


Horizontal stacking:
[[1 2 5 6]
 [3 4 7 8]]
numpy_array_manipulation.htm
廣告