
W pracy z biblioteką NumPy w języku Python jednym z często wykorzystywanych narzędzi jest funkcja numpy.concatenate()
. Dzięki niej możemy łączyć tablice (macierze) wzdłuż określonej osi, co jest kluczowe w analizie danych oraz operacjach numerycznych. W tym artykule wyjaśnię, jak działa funkcja numpy.concatenate, a także przedstawię praktyczny przykład jej zastosowania.
Czym jest numpy.concatenate?
Funkcja numpy.concatenate()
pozwala na łączenie dwóch lub więcej macierzy wzdłuż wybranej osi. Domyślnie, jeśli nie określimy osi, tablice zostaną połączone wzdłuż pierwszej osi (oś 0). Możemy jednak zmieniać ten parametr zależnie od naszych potrzeb.
Oto podstawowa składnia tej funkcji:
numpy.concatenate((tablica1, tablica2, ...), axis=0)
- tablica1, tablica2, … – tablice NumPy, które chcemy połączyć.
- axis (opcjonalny) – określa oś, wzdłuż której łączone są dane tablice. Domyślnie jest to oś 0.
Łączenie tablic NumPy – przykłady
Omówmy teraz kilka praktycznych przypadków wykorzystania numpy.concatenate()
.
Łączenie jednowymiarowych tablic
Zaczniemy od połączenia dwóch jednowymiarowych tablic.
import numpy as np
tablica1 = np.array([1, 2, 3])
tablica2 = np.array([4, 5, 6])
wynik = np.concatenate((tablica1, tablica2))
print(wynik)
Wynik:
[1 2 3 4 5 6]
Jak widać, NumPy połączyło dwie tablice w jedno ciągłe dane.
Łączenie dwuwymiarowych tablic wzdłuż osi 0 i 1
Dzięki NumPy możemy również łączyć macierze dwuwymiarowe. Zobaczmy to na dwóch różnych osiach.
tablica1 = np.array([[1, 2], [3, 4]])
tablica2 = np.array([[5, 6], [7, 8]])
wynik1 = np.concatenate((tablica1, tablica2), axis=0) # Wzdłuż osi 0
wynik2 = np.concatenate((tablica1, tablica2), axis=1) # Wzdłuż osi 1
print("Połączenie wzdłuż osi 0:\n", wynik1)
print("Połączenie wzdłuż osi 1:\n", wynik2)
Wyniki:
Połączenie wzdłuż osi 0:
[[1 2]
[3 4]
[5 6]
[7 8]]
Połączenie wzdłuż osi 1:
[[1 2 5 6]
[3 4 7 8]]
W pierwszym przypadku (oś 0) macierze zostały połączone pionowo, natomiast w drugim przypadku (oś 1) połączenie odbyło się poziomo.
Typowe błędy przy użyciu numpy.concatenate
Podczas korzystania z tej funkcji można napotkać pewne błędy. Oto kilka najczęstszych problemów:
- Niekompatybilne wymiary: Jeśli tablice mają różne kształty wzdłuż osi, w której próbujemy je połączyć, funkcja zwróci błąd.
- Błędne użycie krotki:
numpy.concatenate()
wymaga, aby wszystkie tablice były przekazane jako jeden argument w postaci krotki lub listy, a nie jako osobne argumenty. - Niepoprawnie określona oś: Jeśli podamy nieistniejącą oś (np. oś 2 w macierzach 2D), pojawi się błąd.
Alternatywne metody łączenia tablic w NumPy
Oprócz numpy.concatenate()
istnieją inne metody łączenia tablic w NumPy:
Funkcja | Opis |
---|---|
numpy.vstack() |
Łączy tablice wzdłuż osi 0 (wertykalnie). |
numpy.hstack() |
Łączy tablice wzdłuż osi 1 (horyzontalnie). |
numpy.dstack() |
Łączy tablice wzdłuż trzeciej osi. |
numpy.column_stack() |
Łączenie jednowymiarowych tablic w kolumny. |
Podsumowanie
Funkcja numpy.concatenate()
to potężne narzędzie w operacjach na tablicach NumPy. Pozwala na łatwe łączenie tablic wzdłuż określonej osi, co jest niezwykle przydatne w analizie danych oraz przetwarzaniu macierzy.
Najważniejsze informacje, które warto zapamiętać:
- Funkcja
numpy.concatenate()
łączy tablice wzdłuż wybranej osi. - Domyślnie działa wzdłuż osi 0.
- Tablice muszą mieć zgodne wymiary w pozostałych osiach.
- Jest alternatywa w postaci funkcji
hstack()
,vstack()
i innych metod w NumPy.
Teraz, dzięki temu artykułowi, wiesz jak działa numpy concatenate w języku Python oraz jak go wykorzystać w praktyce.
„` Inny ciekawy artykuł: Jak działa numpy split w języku Python? Przykład zastosowaniaOpanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.