Az adatok tisztítása Python és Pandas segítségével
Az adatok ma olyanok, mint a döntéshozatal építőkövei. De képzelje el, hogy ebből a gyűjteményből van egy csoport különböző alakú és méretű blokk; nehéz bármi értelmeset felépíteni. Itt jön a segítség az adattisztítás.
Ez az útmutató azt vizsgálja, hogyan tisztíthatja meg az adatokat a Python keretrendszerével, amely a Pandas a jobb döntéshozatal érdekében. Az adatok tisztítása is elengedhetetlen, tekintve, hogy egy üzlet értékesítési rekordjainak listájával dolgozunk. Észre vehetünk néhány hiányzó számot, furcsa dátumokat és ok nélkül ismétlődő elemeket a listában. Ha ezen információk alapján végezzük el a számításokat vagy a feljegyzéseket, ezek a problémák összezavarhatják számításainkat és előrejelzéseinket. Az adattisztítás segít kijavítani ezeket a problémákat, biztosítva, hogy adataink pontosak és használatra készek legyenek.
Az adattisztítás magában foglalja a hiányzó adatok kezelését és a teendőket, ha egyes adatok hiányoznak, a duplikációk eltávolítását, a másolt dolgok eltávolítását, az adattípusok javítását, annak ellenőrzését, hogy minden a megfelelő formátumban van-e, valamint a kiugró értékek kezelését vagy a számok kezelését. Ezek a hibák ugyanúgy néznek ki az adatokon, és szabványosítják az adatok megjelenését.
A kezdéshez először győződjön meg arról, hogy telepítve van-e a Python és a Pandas. Ezt úgy tehetjük meg, hogy beírjuk a parancsokat a számítógépünk termináljába vagy parancssorába. Az ebben az útmutatóban említett kódok megvalósításához használhatjuk a rendszerünkre telepített Python Pycharm IDE-t vagy az online Python platformot, amely a „Google Colab”, és telepítheti a „pip” parancsokat a fontos könyvtárak telepítéséhez.
Most importáljunk Pandákat, és töltsük be a mintaadatainkat. Ebben a példában a Google Colabot használjuk a kódok futtatására. Tehát először a Pandákat importáljuk a következő parancs beírásával:
! pip install pandák
import pandák mint pd
import zsibbadt mint például.
Ezután betöltjük a megjeleníteni kívánt adatkészletet a pd.read() metódussal, amely a fájl elérési útját veszi be bemeneti paramétereként.
# Töltse be az adatkészletetadat = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Az első néhány sor megjelenítése
nyomtatás ( adat. fej ( ) )
A következő példában egy kis üzletben történő eladások adatait használjuk. A hiányzó adatok kezeléséhez az információ esetenként hiányzik az adatainkból. Ezeket a hiányzó részeket „NaN”-nak nevezzük (ami azt jelenti, hogy „nem szám”). Ahhoz, hogy megtaláljuk ezeket a hiányzó értékeket a Python-szkriptben, először betöltjük az adatkészletet, ahogy az előző példában tettük. Ezután a „missing_values = data.isnull().sum()” függvény segítségével megtaláljuk az adathalmaz hiányzó értékeit. Ez a függvény megkeresi az összes hiányzó értéket az adatkészletben. Ezután a print () funkcióval megjelenítjük őket.
! pip install pandákimport pandák mint pd
import zsibbadt mint például.
# Töltse be az adatkészletet
adat = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Az első néhány sor megjelenítése
nyomtatás ( adat. fej ( ) )
# Ellenőrizze a hiányzó értékeket
hiányzó_értékek = adat. nulla ( ) . összeg ( )
# A hiányzó értékek megjelenítése oszloponként
nyomtatás ( hiányzó_értékek )
Miután a korábban említett kódot futtató sorban hiányzó adatokat találunk, eltávolíthatjuk ezeket a sorokat, mivel ezekben a sorokban nincs sok hasznos adat. Még a hiányzó értékeket is megtippelhetjük, és az üres helyeket megalapozott találgatásokkal tölthetjük ki, ha a közeli pontok alapján becsüljük meg az időalapú adatokat.
Most eltávolítjuk azokat az ismétlődéseket, amelyek ugyanannak a dolognak a másolatai, mert megzavarhatják elemzésünket. Az adatkészletben található ismétlődő értékek megkereséséhez a „duplicate_rows = data[data.duplicated()]” függvényt használjuk. Az ismétlődő értékek eldobásához a data.drop_duplicates() függvényt hívjuk meg. Megkereshetjük és eltávolíthatjuk őket a következő kóddal:
! pip install pandákimport pandák mint pd
import zsibbadt mint például.
# Töltse be az adatkészletet
adat = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Az első néhány sor megjelenítése
nyomtatás ( adat. fej ( ) )
# Ellenőrizze az ismétlődő sorokat
duplikált_sorok = adat [ adat. megkettőzve ( ) ]
# Az ismétlődések eltávolítása
adat = adat. drop_duplicates ( )
# Az ismétlődések eltávolítása után jelenítse meg az első néhány sort
nyomtatás ( adat. fej ( ) )
Az adattípusok határozzák meg, hogy milyen adatok tárolhatók az adattípusok javításához. Elengedhetetlen, hogy minden adattípushoz a megfelelő típus legyen. Például a dátumoknak a dátum és az idő adattípusának kell lenniük, a számoknak pedig adattípusoknak kell lenniük, például int, float stb. Adataink adattípusainak ellenőrzéséhez a „data.dtypes” függvényt használjuk. Ez a funkció a következő módon használható:
! pip install pandákimport pandák mint pd
import zsibbadt mint például.
# Töltse be az adatkészletet
adat = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Az első néhány sor megjelenítése
nyomtatás ( adat. fej ( ) )
# Ellenőrizze az egyes oszlopok adattípusait
adattípusok = adat. dtípusok
# Adattípusok megjelenítése
nyomtatás ( adattípusok )
Ha bármilyen problémát találunk, a Pandas segítségével módosíthatjuk az adattípust. Például a dátumokat dátumformátummá alakíthatjuk. A DataFrame „dtypes” attribútuma információt nyújt az egyes oszlopok adattípusairól. Ha azt találjuk, hogy az adattípus nem egyezik, akkor a Pandas astype() függvényével konvertálhatjuk az oszlopokat a kívánt típusokra.
Az adattípusok után néha kiugró értékekkel találkozunk, amelyek a többitől nagyon eltérő értékek. Elronthatják a számításainkat. A kiugró értékek kezelésére definiálunk egy függvényt, amely az „np.abs(stats.zscore(data))” z-score függvényt használja, amely összehasonlítja az adatainkban található értékeket a küszöbértékkel. A küszöbérték tartományától eltérő bármely érték kiugró értéknek minősül . Nézzük meg, hogyan találjuk meg és kezeljük a kiugró értékeket:
! pip install pandákimport pandák mint pd
import zsibbadt mint például.
# Töltse be az adatkészletet
adat = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Az első néhány sor megjelenítése
nyomtatás ( adat. fej ( ) )
tól től scipy import statisztika
def detect_outliers ( adat ) :
z_scores = például. abs ( statisztika. zscore ( adat ) )
Visszatérés például. ahol ( z_scores > 3 )
# A kiugró értékek észlelése és kezelése az „Eladások” oszlopban
kiugró értékek = detect_outliers ( adat [ 'hosszúság' ] )
adat [ 'hosszúság' ] . hely [ kiugró értékek ] = adat [ 'hosszúság' ] . középső ( )
# A kiugró értékek észlelése és kezelése az „Eladott egységek” oszlopban
kiugró értékek = detect_outliers ( adat [ 'szélességi kör' ] )
adat [ 'szélességi kör' ] . hely [ kiugró értékek ] = adat [ 'szélességi kör' ] . középső ( )
# A kiugró értékek kezelése után jelenítse meg az első néhány sort
nyomtatás ( adat. fej ( ) )
Egy egyszerű módszerrel keressük meg és javítsuk ki a kiugró értékeket az előző kódban. Ez magában foglalja a szélső értékeket az adatok középső értékére cserélni. Ez a kód a Z-score módszert használja az adatkészletünk „hosszúsági” és „szélességi” oszlopában lévő kiugró értékek észlelésére. A kiugró értékeket a rendszer a megfelelő oszlopok mediánértékeivel helyettesíti.
Annak érdekében, hogy az adatok egyformának tűnjenek, az adatok néha eltérően nézhetnek ki, még akkor is, ha ugyanazt jelentik. Például a dátumok különböző formátumokban írhatók. A szabványosítás magában foglalja a következetes adatformátum és megjelenítés biztosítását. Ez magában foglalhatja a dátumok formázását, a szöveg kisbetűssé alakítását vagy a számértékek normalizálását. Szabványosítsuk adatkészletünkben a „Dátum” oszlopot, és ügyeljünk arra, hogy adataink ugyanúgy nézzenek ki:
import pandák mint pdimport zsibbadt mint például. # Import numpy
# Töltse be az adatokat
adat = pd. read_csv ( 'sales_data.csv' )
# Tegye egységessé a „Dátum” oszlopot
adat [ 'Dátum' ] = pd. to_datetime ( adat [ 'Dátum' ] )
# Nézze meg, hogy néz ki most
nyomtatás ( adat. fej ( ) )
Ebben a példában a „pd.to_datetime(data[‘Dátum’])” függvény használatával szabványosítjuk az adatkészletünk dátumformátumát a Python datetime formátumára. A „Dátum” oszlop azonos formátumba konvertálásával megkönnyítjük az adatokkal való munkát. A kimenet az adatkészlet első néhány sorát jeleníti meg a szabványos „Dátum” oszloppal.
Következtetés
A Python és Pandas használatával végzett adattisztítás során megtanultuk, hogyan javíthatjuk adatainkat elemzés céljából. Kezdtük azzal, hogy megértjük, miért olyan fontos az adatok tisztítása. Segít jobb döntéseket hozni. Megvizsgáltuk, hogyan kezeljük a hiányzó adatokat, távolítsuk el az ismétlődéseket, javítsuk ki az adattípusokat, kezeljük a kiugró értékeket, és hogyan tegyük ugyanolyannak az adatainkat. Ezekkel a készségekkel felkészültebbek vagyunk arra, hogy egy zűrös adatot olyanná alakítsunk, amiben megbízhatunk, és felhasználhatjuk egy fontos információ felfedezésére. Az adattisztítás egy folyamatos folyamat, mint például a helyiségünk rendben tartása, és ez teszi sikeresebbé adatelemzési utunk.