Przejdź do treści

Pandas. Metoda df.eval(). Szybkie obliczenie ROAS i marży w dużym eksporcie kampanii.

Na czym to polega w sklepie

Metoda df.eval ewaluuje wyrażenia stringowe w kontekście kolumn DataFrame, często szybciej niż przypisania z powtarzającymi się df["col"]. Przy dużych eksportach GA4 i Ads oszczędza pamięć i skraca zapis formuł KPI.

Przykład ze sklepu internetowego

Masz kolumny revenue i spend - liczysz ROAS i flagę rentowności jednym wywołaniem:

import pandas as pd

campaigns = pd.read_csv("campaign_performance.csv")
campaigns = campaigns.eval("""
    roas = revenue / spend
    cpa = spend / conversions
    is_profitable = roas >= 3.0
""")
# eval tworzy nowe kolumny z wyrażeń - czytelny zapis formuł

Co zrobić po stronie biznesu

  • Wieloliniowe formuły marży: margin = revenue - cogs - shipping.
  • Obliczenia w assign + eval w łańcuchu pipe dla czytelności.
  • Filtrowanie: df[df.eval("revenue > 1000 & channel == 'google'")].

W skrócie

eval opłaca się przy wielu kolumnach i dużych tabelach. Dla prostych dwóch kolumn zwykłe przypisanie wystarczy - eval wygrywa na skali.