Przejdź do treści

Pandas. Metoda df.join(). Dołączenie katalogu produktów do linii zamówień po indeksie SKU.

Na czym to polega w sklepie

Metoda df.join łączy DataFrame z innym obiektem po indeksie (domyślnie left join). Wydajniejsza niż merge gdy klucz jest już w indeksie - typowy wzorzec: set_index("sku") + join(catalog).

Przykład ze sklepu internetowego

Masz order_lines z kolumną SKU i osobny product_catalog z kategorią i marką. Ustawiasz SKU jako indeks i joinujesz:

import pandas as pd

lines = pd.read_csv("order_lines.csv").set_index("sku")
catalog = pd.read_csv("product_catalog.csv").set_index("sku")

enriched = lines.join(catalog[["category", "brand", "unit_cost"]], how="left")
enriched["line_margin"] = enriched["line_revenue"] - enriched["unit_cost"] * enriched["qty"]

Co zrobić po stronie biznesu

  • Join dziennych metryk po indeksie daty w szeregu czasowym.
  • Dołączenie mapowania kampanii (indeks = utm_campaign) do sesji.
  • Łączenie wielu tabel wymiarowych w gwiazdę analityczną po kluczach naturalnych.

W skrócie

join na indeksie to czytelny idiom dla lookup tables. Pamiętaj o how="left" - zachowujesz wszystkie linie zamówień nawet bez dopasowania w katalogu.