Čišćenje podataka nedvojbeno oduzima puno vremena u znanosti o podacima, a nedostatak podataka jedan je od izazova s ​​kojima ćete se često susresti. pandas je vrijedan Python alat za manipulaciju podacima koji vam između ostalog pomaže popraviti nedostajuće vrijednosti u vašem skupu podataka.

Možete popraviti podatke koji nedostaju tako da ih ispustite ili popunite drugim vrijednostima. U ovom članku ćemo objasniti i istražiti različite načine popunjavanja podataka koji nedostaju pomoću panda.

1. Koristite metodu fillna():

The fillna() funkcija ponavlja vaš skup podataka i ispunjava sve nulte retke određenom vrijednošću. Prihvaća neke neobavezne argumente - uzmite u obzir sljedeće:

Vrijednost: Ovo je vrijednost koju želite umetnuti u retke koji nedostaju.

Metoda: Omogućuje popunjavanje vrijednosti koje nedostaju naprijed ili unatrag. Prihvaća a 'bfill' ili 'napuniti' parametar.

Na mjestu: Ovo prihvaća uvjetnu izjavu. Ako je istinito, trajno mijenja DataFrame. Inače, nije.

Prije nego što počnemo, provjerite jeste li instalirali pande u svoj

instagram viewer
Python virtualno okruženje korištenjem pip u vašem terminalu:

pip install pande

Zatim, unutar Python skripte, kreirat ćemo vježbu DataFrame i umetnuti null vrijednosti (Nan) u nekoliko redova:

uvoz pande
df = pande. DataFrame({'A' :[0, 3, Ništa, 10, 3, Ništa],
'B': [Ništa, Ništa, 7.13, 13.82, 7, 7],
'C': [Ništa, "Pande", Ništa, "Pande", "Python", "JavaScript"]})

Povezano:Kako uvesti Excel podatke u Python skripte pomoću Panda

Sada provjerite kako možete ispuniti ove nedostajuće vrijednosti koristeći različite dostupne metode u pandama.

Ova metoda uključuje zamjenu vrijednosti koje nedostaju izračunatim prosjekima. Popunjavanje podataka koji nedostaju srednjom ili srednjom vrijednošću primjenjivo je kada uključeni stupci imaju cjelobrojne ili float tipove podataka.

Također možete popuniti podatke koji nedostaju vrijednošću načina, što je vrijednost koja se najčešće pojavljuje. Ovo je također primjenjivo na cijele brojeve ili float. Ali zgodnije je kada dotični stupci sadrže nizove.

Evo kako umetnuti srednju vrijednost i medijan u retke koji nedostaju u DataFrameu koji ste prethodno stvorili:

#Da biste umetnuli srednju vrijednost svakog stupca u retke koji nedostaju:
df.fillna (df.mean().round (1), inplace=True)
#Za srednju vrijednost:
df.fillna (df.median().round (1), inplace=True)
ispis (df)

Umetanje modalne vrijednosti kao što ste učinili za gornju srednju vrijednost i medijan ne hvata cijeli DataFrame. Ali možete ga umetnuti u određeni stupac umjesto, recimo, stupca C:

df['C'].fillna (df['C'].mode()[0], inplace=True)

Uz to rečeno, još uvijek je moguće umetnuti modalnu vrijednost svakog stupca u redove koji nedostaju odjednom korištenjem for petlje:

za ja u df.kolumnima:
df[i].fillna (df[i].mode()[0], inplace=True)
ispis (df)

Ako želite biti specifični za stupac dok umetate srednju vrijednost, medijan ili mod:

df.fillna({"A":df['A'].mean(), 
"B": df['B'].median(),
"C": df['C'].mode()[0]},
inplace=True)
ispis (df)

Ispunite nulte retke vrijednostima pomoću ffill

To uključuje specificiranje unutarnje metode popunjavanja kao fillna() funkcija. Ova metoda popunjava svaki redak koji nedostaje vrijednošću najbližeg reda iznad njega.

Možete to nazvati i popunjavanjem unaprijed:

df.fillna (method='ffill', inplace=True)

Ispunite retke koji nedostaju vrijednostima pomoću bfill

Ovdje ćete zamijeniti ispuniti gore spomenuta metoda sa bfill. Ispunjava svaki redak koji nedostaje u DataFrameu najbližom vrijednošću ispod njega.

Ovo se zove unatrag:

df.fillna (method='bfill', inplace=True)

2. Metoda replace().

Možete zamijeniti Nan vrijednosti u određenom stupcu sa srednjom, medijanom, modom ili bilo kojom drugom vrijednošću.

Povezano:pandas Naredbe za manipulaciju okvirima podataka

Pogledajte kako to funkcionira tako da nulte retke u imenovanom stupcu zamijenite njegovom srednjom sredinom, medijanom ili modom:

uvoz pande
import numpy #ovo zahtijeva da ste prethodno instalirali numpy
#Zamijenite nulte vrijednosti srednjom vrijednosti:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Zamijenite stupac A s medijanom:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Koristite modalnu vrijednost za stupac C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
ispis (df)

3. Popunite podatke koji nedostaju interpolacijom()

The interpolirati() funkcija koristi postojeće vrijednosti u DataFrameu za procjenu redaka koji nedostaju.

Pokrenite sljedeći kod da vidite kako to funkcionira:

#Interpolirajte unatrag preko stupca:
df.interpolate (metoda ='linearno', limit_direction ='unazad', inplace=True)
#Interpolirajte prema naprijed po stupcu:
df.interpolate (metoda ='linear', limit_direction ='naprijed', inplace=True)

Pažljivo postupajte s redovima koji nedostaju

Iako smo razmatrali samo popunjavanje podataka koji nedostaju zadanim vrijednostima kao što su prosjek, način rada i druge metode, postoje i druge tehnike za popravljanje vrijednosti koje nedostaju. Znanstvenici podataka, na primjer, ponekad uklanjaju ove retke koji nedostaju, ovisno o slučaju.

Štoviše, bitno je kritički razmisliti o svojoj strategiji prije nego što je koristite. U suprotnom biste mogli dobiti neželjene rezultate analize ili predviđanja. Neke strategije vizualizacije početnih podataka mogu pomoći.

Kako crtati grafikone u Jupyter Notebook-u

Prikažite svoje podatke pomoću grafova Jupyter Notebooka.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Programiranje
  • Piton
  • Programiranje
  • baza podataka
O autoru
Idowu Omisola (Objavljeno 125 članaka)

Idowu je strastven za sve pametne tehnologije i produktivnost. U slobodno vrijeme igra se s kodiranjem i prelazi na šahovsku ploču kad mu je dosadno, ali voli se s vremena na vrijeme otrgnuti od rutine. Njegova strast da ljudima pokaže put oko moderne tehnologije motivira ga da piše više.

Više od Idowua Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu