Čiščenje podatkov v znanosti o podatkih nedvomno vzame veliko časa, manjkajoči podatki pa je eden od izzivov, s katerimi se boste pogosto soočili. pandas je dragoceno orodje za obdelavo podatkov Python, ki vam med drugim pomaga popraviti manjkajoče vrednosti v naboru podatkov.

Manjkajoče podatke lahko popravite tako, da jih spustite ali napolnite z drugimi vrednostmi. V tem članku bomo razložili in raziskali različne načine za zapolnitev manjkajočih podatkov s pomočjo pand.

1. Uporabite metodo fillna():

The fillna() funkcija ponovi vaš nabor podatkov in zapolni vse ničelne vrstice z določeno vrednostjo. Sprejema nekaj neobveznih argumentov – upoštevajte naslednje:

vrednost: To je vrednost, ki jo želite vstaviti v manjkajoče vrstice.

Metoda: Omogoča zapolnitev manjkajočih vrednosti naprej ali nazaj. Sprejema a 'bfill' oz 'fill' parameter.

Na mestu: To sprejme pogojni stavek. Če je True, trajno spremeni DataFrame. Sicer pa ne gre.

Preden začnemo, se prepričajte, da ste v svoje namestili pande Virtualno okolje Python z uporabo pip v vašem terminalu:

instagram viewer
pip install pandas

Nato bomo znotraj skripta Python ustvarili vadbeni DataFrame in vstavili ničelne vrednosti (Nan) v nekaj vrstic:

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

Povezano:Kako uvoziti podatke Excela v skripte Python s pomočjo Pandas

Zdaj pa preverite, kako lahko zapolnite te manjkajoče vrednosti z različnimi metodami, ki so na voljo v pandah.

Ta metoda vključuje zamenjavo manjkajočih vrednosti z izračunanimi povprečji. Izpolnjevanje manjkajočih podatkov s srednjo ali mediano vrednostjo je uporabno, če imajo zadevni stolpci celi ali plavajoči podatkovni tipi.

Manjkajoče podatke lahko zapolnite tudi z vrednostjo načina, ki je najpogostejša vrednost. To velja tudi za cela števila ali plavajoče vrednosti. Vendar je bolj priročno, če zadevni stolpci vsebujejo nize.

Tako vstavite povprečje in mediano v manjkajoče vrstice v DataFrameu, ki ste ga ustvarili prej:

#Če želite vstaviti srednjo vrednost vsakega stolpca v manjkajoče vrstice:
df.fillna (df.mean().round (1), inplace=True)
#Za mediano:
df.fillna (df.median().round (1), inplace=True)
natisni (df)

Vstavljanje modalne vrednosti, kot ste storili za povprečje in mediano zgoraj, ne zajame celotnega DataFrame. Lahko pa ga namesto tega vstavite v določen stolpec, recimo v stolpec C:

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

Glede na to je še vedno mogoče vstaviti modalno vrednost vsakega stolpca v manjkajoče vrstice hkrati z uporabo zanke for:

za i v df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
natisni (df)

Če želite biti pri vstavljanju povprečja, mediane ali načina specifični za stolpec:

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

Izpolnite ničelne vrstice z vrednostmi z uporabo ffill

To vključuje določitev metode polnjenja znotraj kot fillna() funkcijo. Ta metoda zapolni vsako manjkajočo vrstico z vrednostjo najbližje nad njo.

Lahko bi ga imenovali tudi polnitev naprej:

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

Manjkajoče vrstice izpolnite z vrednostmi z uporabo bfill

Tukaj boste zamenjali napolnite zgoraj omenjena metoda z bfill. Vsako manjkajočo vrstico v DataFrame zapolni z najbližjo vrednostjo pod njo.

Ta se imenuje nazaj polnjenje:

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

2. Metoda replace().

Lahko zamenjate Nan vrednosti v določenem stolpcu s povprečjem, mediano, načinom ali katero koli drugo vrednostjo.

Povezano:pandas Ukazi za manipulacijo podatkovnih okvirjev

Oglejte si, kako to deluje, tako da zamenjate ničelne vrstice v poimenovanem stolpcu s povprečjem, mediano ali načinom:

uvozi pande
uvozi numpy #to zahteva, da ste predhodno namestili numpy
#Null vrednosti zamenjajte s povprečjem:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Zamenjajte stolpec A z mediano:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Uporabi modalno vrednost za stolpec C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
natisni (df)

3. Izpolnite manjkajoče podatke z interpolate()

The interpolirati () funkcija uporablja obstoječe vrednosti v DataFrame za oceno manjkajočih vrstic.

Zaženite naslednjo kodo, da vidite, kako to deluje:

#Interpolirajte nazaj čez stolpec:
df.interpolate (metoda ='linear', limit_direction ='nazaj', inplace=True)
#Interpolirajte v naslednjem vrstnem redu po stolpcu:
df.interpolate (metoda ='linearno', limit_direction ='naprej', inplace=True)

Previdno obravnavajte manjkajoče vrstice

Čeprav smo razmišljali samo o zapolnitvi manjkajočih podatkov s privzetimi vrednostmi, kot so povprečja, način in druge metode, obstajajo druge tehnike za popravljanje manjkajočih vrednosti. Podatkovni znanstveniki na primer včasih odstranijo te manjkajoče vrstice, odvisno od primera.

Poleg tega je bistveno, da kritično razmislite o svoji strategiji, preden jo uporabite. V nasprotnem primeru lahko dobite nezaželene rezultate analize ali napovedi. Nekatere strategije vizualizacije začetnih podatkov bi lahko pomagale.

Kako risati grafe v Jupyter Notebooku

Prikažite svoje podatke z grafi Jupyter Notebooka.

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • Programiranje
  • Python
  • Programiranje
  • bazo podatkov
O avtorju
Idowu Omisola (Objavljenih 125 člankov)

Idowu je navdušen nad vsemi pametnimi tehnologijami in produktivnostjo. V prostem času se igra s kodiranjem in, ko mu je dolgčas, preklopi na šahovnico, rad pa se občasno odmakne od rutine. Njegova strast, da ljudem pokaže pot okoli sodobne tehnologije, ga motivira, da piše več.

Več od Idowu Omisola

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite