Kako izvesti čišćenje podataka s Pythonom i Pandasom

Kako Izvesti Ciscenje Podataka S Pythonom I Pandasom



Naučiti čistiti podatke koristeći Python i Pandas ključno je za svakoga tko radi s podacima. Čišćenje podataka uglavnom se koristi za točnu analizu i modeliranje uklanjanjem pogrešaka i nedosljednosti. Ovaj vodič prolazi kroz postupak korak po korak koji nam pokazuje kako postupati s podacima koji nedostaju i uočiti ili identificirati odstupanja. Uz Python i Pandas kao naše alate, možemo pretvoriti neuredne podatke u čiste, upotrebljive informacije. Ovaj nam vodič također pomaže poboljšati kvalitetu podataka i pripremiti ih za analizu i donošenje odluka.

Čišćenje podataka pomoću Pythona i Panda

Podaci su danas poput građevnih blokova za donošenje odluka. Ali zamislite da imate grupu blokova različitih oblika i veličina iz ove kolekcije; teško je izgraditi bilo što smisleno. Ovdje u pomoć dolazi čišćenje podataka.

Ovaj vodič istražuje kako očistiti podatke pomoću Python okvira koji je Pandas za bolje donošenje odluka. Čišćenje podataka također je bitno, s obzirom na to da radimo s popisom prodajnih zapisa za trgovinu. Na popisu bismo mogli primijetiti da neki brojevi nedostaju, čudni datumi i stavke koje se ponavljaju bez razloga. Ako napravimo izračune ili zapise na temelju ovih informacija, ti problemi mogu pokvariti naše izračune i predviđanja. Čišćenje podataka pomaže u rješavanju ovih problema, osiguravajući da su naši podaci točni i spremni za upotrebu.







Čišćenje podataka uključuje rukovanje podacima koji nedostaju i što učiniti kada neki podaci nedostaju, uklanjanje duplikata, uklanjanje kopiranih stvari, popravljanje vrsta podataka, provjeru je li sve u ispravnom formatu i rješavanje outliera ili rukovanje brojevima koji se ne uklapaju. Ove pogreške čine da podaci izgledaju isto i standardiziraju kako se podaci pojavljuju.



Za početak prvo provjerite imamo li instaliran Python i Pandas. To možemo učiniti upisivanjem naredbi u terminal ili naredbeni redak našeg računala. Za implementaciju kodova koji se spominju u ovom vodiču, možemo koristiti Python Pycharm IDE koji je instaliran na našem sustavu ili online Python platformu koja je 'Google Colab' i instalirati naredbe 'pip' za instaliranje važnih biblioteka.



Sada uvezimo Pande i učitajmo uzorke podataka. Za ovaj primjer koristimo Google Colab za pokretanje kodova. Dakle, prvo uvozimo Pande unosom sljedeće naredbe:





! pip instaliraj pande

uvoz pande kao pd

uvoz numpy kao npr.

Zatim učitavamo skup podataka koji želimo prikazati pomoću metode pd.read() koja uzima putanju datoteke kao svoj ulazni parametar.

# Učitaj skup podataka

podaci = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# Prikaži prvih nekoliko redaka

ispisati ( podaci. glavu ( ) )



U sljedećem primjeru koristimo podatke o prodaji u maloj trgovini. Za obradu podataka koji nedostaju, informacije ponekad nedostaju u našim podacima. Te dijelove koji nedostaju nazivamo 'NaN' (što znači 'nije broj'). Da bismo pronašli te vrijednosti koje nedostaju u Python skripti, prvo učitavamo skup podataka kao što smo učinili u prethodnom primjeru. Zatim pronalazimo sve vrijednosti koje nedostaju u skupu podataka pomoću funkcije 'missing_values ​​= data.isnull().sum()'. Ova funkcija pronalazi sve vrijednosti koje nedostaju u skupu podataka. Zatim ih prikazujemo pomoću funkcije print ().

! pip instaliraj pande
uvoz pande kao pd
uvoz numpy kao npr.

# Učitaj skup podataka
podaci = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# Prikaži prvih nekoliko redaka
ispisati ( podaci. glavu ( ) )

# Provjerite vrijednosti koje nedostaju
nedostajuće_vrijednosti = podaci. isnull ( ) . iznos ( )

# Prikaz vrijednosti koje nedostaju po stupcu
ispisati ( nedostajuće_vrijednosti )

Nakon što pronađemo podatke koji nedostaju u bilo kojem retku koji pokreće kod koji je prethodno spomenut, možemo ukloniti te retke jer ti reci nemaju mnogo korisnih podataka. Možemo čak pogoditi te vrijednosti koje nedostaju i popuniti praznine obrazovanim nagađanjima procjenom podataka temeljenih na vremenu na temelju obližnjih točaka.

Sada uklanjamo duplikate koji su kopije iste stvari jer mogu zbuniti našu analizu. Da bismo pronašli duplicirane vrijednosti u skupu podataka, koristimo funkciju 'duplicate_rows = data[data.duplicated()]'. Da bismo ispustili te duplicirane vrijednosti, pozivamo funkciju data.drop_duplicates(). Možemo ih pronaći i ukloniti pomoću sljedećeg koda:

! pip instaliraj pande
uvoz pande kao pd
uvoz numpy kao npr.
# Učitaj skup podataka
podaci = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Prikaži prvih nekoliko redaka
ispisati ( podaci. glavu ( ) )

# Provjerite duplicirane retke
dupli_redovi = podaci [ podaci. dupliciran ( ) ]

# Uklonite duplikate
podaci = podaci. drop_duplicates ( )

# Prikaži prvih nekoliko redaka nakon uklanjanja duplikata
ispisati ( podaci. glavu ( ) )

Tipovi podataka odlučuju koji se podaci mogu pohraniti kako bi se popravili tipovi podataka. Bitno je imati pravu vrstu za svaku vrstu podataka. Na primjer, datumi bi trebali imati tip podataka datum vrijeme, a brojevi bi trebali biti u tipu podataka kao što su int, float itd. Za provjeru tipova podataka naših podataka koristimo funkciju 'data.dtypes'. Ova se funkcija može koristiti na sljedeći način:

! pip instaliraj pande
uvoz pande kao pd
uvoz numpy kao npr.
# Učitaj skup podataka
podaci = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Prikaži prvih nekoliko redaka
ispisati ( podaci. glava ( ) )
# Provjerite tipove podataka svakog stupca
tipovi_podataka = podaci. dvrste

# Prikaži vrste podataka
ispisati ( tipovi_podataka )

Ako pronađemo bilo kakve probleme, možemo promijeniti vrstu podataka koristeći Pandas. Na primjer, datume možemo pretvoriti u format datuma. Atribut “dtypes” DataFramea pruža informacije o tipovima podataka svakog stupca. Ako ustanovimo da se tip podataka ne podudara, možemo upotrijebiti Pandasovu funkciju astype() za pretvaranje stupaca u željene tipove.

Nakon tipova podataka, ponekad se susrećemo s outlierima koji su vrijednosti koje se jako razlikuju od ostalih. Mogu nam pomrsiti proračune. Kako bismo riješili outliere, definiramo funkciju koja koristi funkciju z-rezultata 'np.abs(stats.zscore(data))' koja uspoređuje vrijednosti koje postoje u našim podacima s vrijednošću praga. Svaka vrijednost osim raspona ovog praga smatra se izvanrednom . Pogledajmo kako pronaći i postupati s ekstremima:

! pip instaliraj pande
uvoz pande kao pd
uvoz numpy kao npr.

# Učitaj skup podataka
podaci = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# Prikaži prvih nekoliko redaka
ispisati ( podaci. glava ( ) )
iz scipy uvoz statistika

def detektirati odstupanja ( podaci ) :
z_rezultati = npr. trbušnjaci ( statistika. zscore ( podaci ) )
povratak npr. gdje ( z_rezultati > 3 )

# Otkrijte i obradite ekstremne vrijednosti u stupcu 'Prodaja'
outliers = detektirati odstupanja ( podaci [ 'dužina' ] )
podaci [ 'dužina' ] . mjesto [ outliers ] = podaci [ 'dužina' ] . medijan ( )

# Otkrijte i obradite ekstremne vrijednosti u stupcu 'Prodane jedinice'
outliers = detektirati odstupanja ( podaci [ 'geografska širina' ] )
podaci [ 'geografska širina' ] . mjesto [ outliers ] = podaci [ 'geografska širina' ] . medijan ( )

# Prikaži prvih nekoliko redaka nakon obrade odstupanja
ispisati ( podaci. glava ( ) )

Koristimo jednostavnu metodu za pronalaženje i popravljanje odstupanja u prethodnom kodu. Uključuje zamjenu ekstremnih vrijednosti sa srednjom vrijednošću podataka. Ovaj kod koristi metodu Z-rezultata za otkrivanje odstupanja u stupcima 'dužine' i 'širine' našeg skupa podataka. Outlieri se zamjenjuju srednjim vrijednostima njihovih odgovarajućih stupaca.

Kako bi podaci izgledali isto, podaci ponekad mogu izgledati drugačije čak i ako znače istu stvar. Na primjer, datumi se mogu napisati u različitim formatima. Standardizacija uključuje osiguranje dosljednog formata podataka i reprezentacije. To može uključivati ​​formatiranje datuma, pretvaranje teksta u mala slova ili normaliziranje numeričkih vrijednosti. Standardizirajmo stupac 'Datum' u našem skupu podataka i pobrinimo se da naši podaci izgledaju isto:

uvoz pande kao pd
uvoz numpy kao npr. # Uvezi numpy

# Učitaj podatke
podaci = pd. read_csv ( 'sales_data.csv' )

# Neka stupac 'Datum' izgleda dosljedno
podaci [ 'Datum' ] = pd. do_datumvrijeme ( podaci [ 'Datum' ] )

# Pogledajte kako sada izgleda
ispisati ( podaci. glava ( ) )

U ovom primjeru standardiziramo format datuma u našem skupu podataka na Pythonov format datuma i vremena pomoću funkcije 'pd.to_datetime(data['Date'])'. Pretvaranjem stupca “Datum” u isti format olakšavamo rad s ovim podacima. Izlaz prikazuje prvih nekoliko redaka skupa podataka sa standardiziranim stupcem 'Datum'.

Zaključak

Na našem putovanju kroz čišćenje podataka pomoću Pythona i Pandasa naučili smo kako poboljšati svoje podatke za analizu. Započeli smo s razumijevanjem zašto je čišćenje podataka toliko važno. Pomaže nam da donosimo bolje odluke. Istražili smo kako postupiti s podacima koji nedostaju, ukloniti duplikate, popraviti vrste podataka, postupati s ekstremima i učiniti da naši podaci izgledaju isto. S ovim vještinama bolje smo pripremljeni pretvoriti neuredne podatke u nešto čemu možemo vjerovati i upotrijebiti ga za otkrivanje važnih informacija. Čišćenje podataka je stalan proces, poput održavanja naše sobe urednom, i čini našu analizu podataka uspješnijom.