Przejdź do treści

Pandas. Metoda df.assign(). Dodawanie kolumny marży do eksportu zamówień.

Na czym to polega w sklepie

Metoda df.assign zwraca nowy DataFrame z dodatkowymi kolumnami obliczonymi z istniejących. Preferowana nad bezpośrednim df["x"] = ... w łańcuchach transformacji - czytelniejsza i bez efektów ubocznych na kopii roboczej.

Przykład ze sklepu internetowego

Tabela orders ma revenue i cogs (koszt towaru). Chcesz dodać marżę i procent marży przed eksportem do Power BI:

import pandas as pd

orders = pd.read_csv("orders_line_items.csv")
enriched = (
    orders.assign(
        margin=lambda d: d["revenue"] - d["cogs"],
        margin_pct=lambda d: (d["margin"] / d["revenue"]).round(4),
        is_high_margin=lambda d: d["margin_pct"] >= 0.35,
    )
)
# enriched zawiera oryginalne kolumny + margin, margin_pct, is_high_margin

Co zrobić po stronie biznesu

  • Dodanie ROAS: revenue / spend w raporcie kampanii.
  • Flaga is_paid z UTM medium (cpc, paid).
  • Kolumna days_to_convert z różnicy dat kliknięcia i zakupu.

W skrócie

assign + lambda d: pozwala odwoływać się do kolumn utworzonych w tym samym wywołaniu. To idiom pandas dla czystych pipeline analitycznych.