Jak działa pandas merge w języku Python? Przykład zastosowania

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

Pracując z danymi w Pythonie, często muszę łączyć różne zestawy informacji, np. dane klientów z zamówieniami lub transakcje z informacjami o produktach. Do tego zadania idealnie nadaje się funkcja pandas.merge(). Dzisiaj wytłumaczę, jak działa pandas.merge() w języku Python i przedstawię praktyczny przykład zastosowania.

Czym jest pandas.merge()?

Funkcja pandas.merge() w bibliotece Pandas umożliwia łączenie dwóch DataFrame’ów na podstawie wspólnych kolumn lub indeksów. Można ją porównać do operacji JOIN w SQL, co czyni ją niezwykle użytecznym narzędziem podczas pracy z danymi tabelarycznymi.

Podstawowa składnia pandas.merge()

Funkcja pandas.merge() przyjmuje kilka argumentów, ale podstawowe z nich to:


import pandas as pd

merged_df = pd.merge(left, right, how='inner', on='kolumna')

Główne parametry funkcji to:

  • left – pierwszy DataFrame.
  • right – drugi DataFrame.
  • how – metoda łączenia, np. 'inner', 'left', 'right', 'outer'.
  • on – nazwa kolumny lub listy kolumn, na podstawie których łączymy dane.

Rodzaje operacji merge

Funkcja pandas.merge() obsługuje kilka typów operacji. Oto najważniejsze:

Typ operacji Opis
inner Zwraca tylko pasujące rekordy z obu tabel (podobnie do INNER JOIN w SQL).
left Zachowuje wszystkie rekordy z lewego DataFrame i pasujące z prawego.
right Zachowuje wszystkie rekordy z prawego DataFrame i pasujące z lewego.
outer Zachowuje wszystkie rekordy z obu DataFrame’ów (podobnie do FULL OUTER JOIN w SQL).

Przykład zastosowania

Poniżej znajduje się praktyczny przykład użycia pandas.merge(). Załóżmy, że mamy dwa zestawy danych: jeden z informacjami o klientach, a drugi z listą ich zamówień.


import pandas as pd

# Tworzenie pierwszego DataFrame – lista klientów
klienci = pd.DataFrame({
    'klient_id': [1, 2, 3, 4],
    'imie': ['Anna', 'Tomasz', 'Katarzyna', 'Marek']
})

# Tworzenie drugiego DataFrame – lista zamówień
zamowienia = pd.DataFrame({
    'zamowienie_id': [101, 102, 103, 104],
    'klient_id': [1, 2, 3, 5],  # Zauważmy, że klient_id = 5 nie istnieje w "klienci"
    'kwota': [250, 400, 150, 300]
})

# Łączenie danych na podstawie kolumny klient_id
df_polaczone = pd.merge(klienci, zamowienia, on='klient_id', how='inner')

print(df_polaczone)

Wynikiem tego połączenia będą tylko rekordy, które mają wspólną wartość w kolumnie klient_id. Klient o klient_id = 5 nie został uwzględniony, ponieważ nie istniał w pierwszym DataFrame.

Kiedy warto używać pandas.merge()?

Metoda pandas.merge() sprawdza się w wielu przypadkach, np. gdy:

  1. Potrzebuję połączyć dane z różnych źródeł (np. bazy danych, pliki CSV).
  2. Chcę wykonać operację analogiczną do JOIN w SQL.
  3. Muszę porównać dwie tabele na podstawie klucza wspólnego.

Podsumowanie

Funkcja pandas.merge() to potężne narzędzie do łączenia danych w Pythonie. Umożliwia wykonywanie różnych typów operacji (inner, left, right, outer), co daje dużą elastyczność w analizie danych. Mam nadzieję, że teraz już wiesz, jak działa pandas.merge() w języku Python. Przykład zastosowania pokazał, jak można efektywnie łączyć różne zestawy danych i uzyskiwać potrzebne informacje.

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