Jak działa numpy hstack w języku Python? Przykład zastosowania

Jak działa numpy hstack w języku Python? Przykład zastosowania
„`html

W pracy z biblioteką NumPy często muszę łączyć tablice wzdłuż różnych osi. Jedną z najwygodniejszych funkcji do poziomego łączenia tablic jest numpy.hstack(). W tym artykule pokażę, jak działa numpy hstack w języku Python i przedstawię przykład zastosowania tej funkcji.

Czym jest numpy.hstack()?

Funkcja numpy.hstack() służy do poziomego łączenia (horyzontalnego stosu) wielu tablic. Oznacza to, że tablice są sklejane wzdłuż drugiego wymiaru (oś 1 w przypadku tablic dwuwymiarowych).

numpy.hstack(tup)

Gdzie:

  • tup – krotka zawierająca tablice NumPy do połączenia.

Jak działa numpy.hstack()?

Weźmy prosty przykład, w którym mamy dwie dwuwymiarowe tablice i chcemy je połączyć poziomo:

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[7, 8, 9], [10, 11, 12]])

result = np.hstack((a, b))

print(result)

Wynik:

[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]

Jak widzisz, tablica b została dołączona do tablicy a poziomo, co oznaczało scalanie elementów wzdłuż kolumn.

Kiedy mogę użyć numpy.hstack()?

Ta funkcja sprawdza się w wielu scenariuszach, takich jak:

  • Łączenie wyników obliczeń w jedną tablicę.
  • Dodawanie nowych cech do macierzy danych (np. w analizie danych, ML).
  • Tworzenie nowych zbiorów danych poprzez łączenie istniejących.

Wymagania co do wymiarów tablic

Aby numpy.hstack() działało poprawnie, tablice muszą mieć zgodne wymiary wzdłuż osi 0 (wiersze). W przeciwnym razie wystąpi błąd.

Przykładowo, kod poniżej spowoduje błąd, ponieważ liczba wierszy się nie zgadza:

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6, 7]])

np.hstack((a, b))  # Błąd!

Alternatywy dla numpy.hstack()

Jeśli numpy.hstack() nie spełnia Twoich oczekiwań, możesz użyć innych metod:

  1. numpy.concatenate() – bardziej elastyczna funkcja pozwalająca określić, wzdłuż której osi łączyć tablice.
  2. numpy.column_stack() – przydatna do łączenia tablic jednowymiarowych w kolumny.
  3. numpy.hstack() – niemal równoważna z numpy.concatenate() z parametrem axis=1.

Przykład zamiany numpy.hstack() na numpy.concatenate():

np.concatenate((a, b), axis=1)

Porównanie numpy.hstack() z innymi metodami łączenia tablic

Metoda Opis Użycie
numpy.hstack() Łączy tablice poziomo (oś 1). np.hstack((a, b))
numpy.vstack() Łączy tablice pionowo (oś 0). np.vstack((a, b))
numpy.concatenate() Łączy tablice wzdłuż dowolnej osi. np.concatenate((a, b), axis=1)
numpy.column_stack() Łączy jednowymiarowe tablice w kolumny. np.column_stack((a, b))

Podsumowanie

Wiesz już, jak działa numpy hstack w języku Python i masz przykład zastosowania tej funkcji. Jest to wygodne narzędzie do poziomego łączenia tablic, pod warunkiem, że ich liczba wierszy jest zgodna. Jeśli potrzebujesz innego rodzaju łączenia, warto rozważyć alternatywne metody, takie jak numpy.vstack() czy numpy.concatenate().

„` Inny ciekawy artykuł: Jak działa numpy vstack w języku Python? Przykład zastosowania
KajoDataSpace