Az adatok előkészítése gyakran a munka oroszlánrésze, de ezek a Python szkriptek levesszik a terhet a válladról. A nyers adat ritkán alkalmas azonnali elemzésre. A hibák és a hiányosságok torzíthatják az eredményeket. Most mutatunk öt rövid kódrészletet a leggyakoribb problémákra. A kódok futtatásához a pandas könyvtárra lesz szükséged.
1. Hiányzó értékek kezelése
Az üres cellák tönkretehetik a számításokat. Nem kell egyenként átnézned a táblázatot. Ez a szkript megkeresi a hiányzó adatokat. Eldöntheted hogy törlöd vagy feltöltöd őket.
Íme a kód a null értékek kezelésére:
import pandas as pd
import numpy as np
# Adatok betöltése
df = pd.read_csv('adatok.csv')
# Hiányzó értékek feltöltése az átlaggal
df['kor'] = df['kor'].fillna(df['kor'].mean())
# Vagy a hiányos sorok teljes törlése
df_tiszta = df.dropna()
print("A tisztítás kész.")
Ez a megoldás biztosítja a folytonosságot az adatsorban. A modellek így nem akadnak el a hibákon.
2. Ismétlődő sorok eltávolítása
A duplikációk torzítják a statisztikát. Gyakran előfordulnak hibás adatbetöltésnél. Ez a rövid parancs kiszűri a felesleges ismétlődéseket.
A módszer rendkívül egyszerű és gyors:
# Duplikációk keresése és törlése
# A 'subset' paraméterrel szűkítheted a keresést
df = df.drop_duplicates(subset=['email'], keep='first')
print(f"Maradt sorok száma {len(df)}")
A keep='first' beállítás megtartja az első előfordulást. A többit végleg eltávolítja a memóriából.
3. Kiugró értékek szűrése
A hibás mérések félrevihetik az elemzést. A kiugró adatok vagyis outlierek gyakran mérési hibából erednek. A statisztikai módszerek segítenek a detektálásban. Itt az IQR módszert alkalmazzuk.
Ez a szkript automatikusan levágja a szélsőségeket:
# Az IQR tartomány kiszámítása
Q1 = df['ar'].quantile(0.25)
Q3 = df['ar'].quantile(0.75)
IQR = Q3 - Q1
# Alsó és felső határok
also_hatar = Q1 - 1.5 * IQR
felso_hatar = Q3 + 1.5 * IQR
# Szűrés
df_szurt = df[(df['ar'] >= also_hatar) & (df['ar'] <= felso_hatar)]
A megmaradt adatbázis sokkal pontosabb képet ad az átlagos eloszlásról.
4. Dátumok egységesítése
A dátumok gyakran szövegként érkeznek a rendszerbe. Ez megnehezíti az idősoros elemzést. Ez a szkript valódi időbélyeggé alakítja a szöveget.
A Pandas képes felismerni a különböző formátumokat:
# Szöveg konvertálása dátummá
# A 'coerce' opció kezeli a hibás formátumokat
df['datum'] = pd.to_datetime(df['eladas_datuma'], errors='coerce')
# Csak a valid dátumok megtartása
df = df.dropna(subset=['datum'])
print(df['datum'].head())
Így már könnyen szűrhetsz évekre vagy hónapokra. A hibás bejegyzések automatikusan NaT értéket kapnak.
5. Szöveges adatok tisztítása
A felesleges szóközök és a kisbetűk keveredése gondot okoz a csoportosításnál. Ez a láncolt parancs rendet tesz a szövegek között. Egységesíti a formátumot.
Nézd meg ezt a hatékony egysoros megoldást:
# Szóközök levágása és kisbetűsítés
df['varos'] = df['varos'].str.strip().str.lower()
# Speciális karakterek cseréje
df['varos'] = df['varos'].str.replace('[^a-zA-Z0-9]', '', regex=True)
Ezután a „Budapest ” és a „budapest” végre egy csoportba kerül. Ez kritikus a pontos aggregáláshoz.
Szkriptek áttekintése
A táblázat segít kiválasztani a megfelelő eszközt a problémához.
| Probléma | Megoldás | Pandas függvény |
| Hiányzó adat | Feltöltés vagy törlés | fillna vagy dropna |
| Duplikáció | Ismétlés törlése | drop_duplicates |
| Extrém érték | IQR szűrés | quantile |
| Hibás dátum | Konvertálás | to_datetime |
| Szöveg hiba | Formázás | str.strip |
Ezek a Python szkriptek elengedhetetlenek a mindennapi munkában. Mentsd el őket egy közös fájlba. Így bármikor előveheted a kész megoldásokat.



