Przejdź do treści

Pandas. Funkcja pd.to_numeric(). Konwersja przychodu z eksportu sklepu na liczby.

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.