Na czym to polega w sklepie
Funkcja pd.to_numeric konwertuje kolumnę na typ numeryczny (int/float), opcjonalnie zamieniając błędne wartości na NaN (errors="coerce"). Eksporty CSV ze sklepów często trzymają ceny jako tekst z przecinkiem lub spacją tysięcy.
Przykład ze sklepu internetowego
Eksport zamówień ma kolumnę revenue jako stringi "1 299,00" i puste komórki - suma i sortowanie nie działają:
import pandas as pd
orders = pd.read_csv("orders_export.csv", dtype=str)
orders["revenue"] = (
orders["revenue"]
.str.replace(" ", "", regex=False)
.str.replace(",", ".", regex=False)
)
orders["revenue"] = pd.to_numeric(orders["revenue"], errors="coerce")
orders["quantity"] = pd.to_numeric(orders["quantity"], errors="coerce").astype("Int64")
# revenue gotowe do groupby i sum()
Co zrobić po stronie biznesu
- Czyszczenie kosztów Google Ads z formatu regionalnego przed liczeniem ROAS.
- Konwersja metryk GA4 (
event_value) po eksporcie do CSV. - Walidacja ilości sztuk przed agregacją sprzedaży per SKU.
W skrócie
Zawsze sprawdzaj typy po read_csv. pd.to_numeric(..., errors="coerce") izoluje śmieciowe wiersze jako NaN zamiast crashu całego pipeline.