5 Python szkript adattisztításhoz a gyorsabb munkáért

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)}")

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émaMegoldásPandas függvény
Hiányzó adatFeltöltés vagy törlésfillna vagy dropna
DuplikációIsmétlés törlésedrop_duplicates
Extrém értékIQR szűrésquantile
Hibás dátumKonvertálásto_datetime
Szöveg hibaFormázásstr.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.

Kérjük, ellenőrizd a mező formátumát, és próbáld újra.
Köszönjük, hogy feliratkoztál.

vagyunk.hu hírlevél

Hozzászólás

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük