Curățarea datelor necesită, fără îndoială, mult timp în știința datelor, iar lipsa datelor este una dintre provocările cu care te vei confrunta adesea. Pandas este un instrument valoros de manipulare a datelor Python, care vă ajută, printre altele, să remediați valorile lipsă din setul dvs. de date.

Puteți remedia datele lipsă fie eliminând, fie completându-le cu alte valori. În acest articol, vom explica și vom explora diferitele modalități de a completa datele lipsă folosind panda.

1. Utilizați metoda fillna():

The fillna() funcția iterează prin setul de date și umple toate rândurile nule cu o valoare specificată. Acceptă unele argumente opționale - luați notă de următoarele:

Valoare: Aceasta este valoarea pe care doriți să o introduceți în rândurile lipsă.

Metodă: Vă permite să completați valorile lipsă înainte sau invers. Acceptă a 'bfill' sau "umple" parametru.

La loc: Aceasta acceptă o declarație condiționată. Dacă este adevărat, acesta modifică DataFrame permanent. Altfel, nu.

Înainte de a începe, asigurați-vă că instalați panda în dvs

instagram viewer
Mediul virtual Python folosind pip în terminalul dvs.:

pip install panda

Apoi, în interiorul scriptului Python, vom crea un DataFrame de practică și vom introduce valori nule (Nan) pe câteva rânduri:

importa panda
df = panda. DataFrame({'A' :[0, 3, Niciunul, 10, 3, Niciunul],
„B”: [Niciunul, Niciunul, 7.13, 13.82, 7, 7],
„C”: [Niciunul, „Panda”, Niciunul, „Panda”, „Python”, „JavaScript”]})

Legate de:Cum să importați date Excel în scripturi Python folosind Pandas

Acum, vedeți cum puteți completa aceste valori lipsă folosind diferitele metode disponibile în panda.

Această metodă implică înlocuirea valorilor lipsă cu medii calculate. Completarea datelor lipsă cu o valoare medie sau mediană este aplicabilă atunci când coloanele implicate au tipuri de date întregi sau flotante.

De asemenea, puteți completa datele lipsă cu valoarea modului, care este cea mai frecventă valoare. Acest lucru este valabil și pentru numere întregi sau flotanți. Dar este mai comod atunci când coloanele în cauză conțin șiruri.

Iată cum să inserați media și mediana în rândurile lipsă din DataFrame pe care l-ați creat mai devreme:

#Pentru a introduce valoarea medie a fiecărei coloane în rândurile ei lipsă:
df.fillna (df.mean().round (1), inplace=True)
#Pentru mediană:
df.fillna (df.median().round (1), inplace=True)
imprimare (df)

Inserarea valorii modale așa cum ați făcut pentru medie și mediana de mai sus nu captează întregul DataFrame. Dar îl puteți insera într-o anumită coloană în loc, de exemplu, coloană C:

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

Acestea fiind spuse, este încă posibil să inserați simultan valoarea modală a fiecărei coloane pe rândurile lipsă. folosind o buclă for:

pentru i în df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
imprimare (df)

Dacă doriți să fiți specific coloanei în timp ce introduceți media, mediana sau modul:

df.fillna({"A":df['A'].mean(), 
„B”: df['B'].median(),
„C”: df['C'].mode()[0]},
inplace=Adevărat)
imprimare (df)

Umpleți rândurile nule cu valori folosind ffill

Aceasta implică specificarea metodei de umplere în interior ca fillna() funcţie. Această metodă completează fiecare rând lipsă cu valoarea celui mai apropiat de deasupra acestuia.

L-ați putea numi și umplere înainte:

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

Completați rândurile lipsă cu valori folosind bfill

Aici, vei înlocui umple metoda mentionata mai sus cu bfill. Completează fiecare rând lipsă din DataFrame cu cea mai apropiată valoare de sub el.

Acesta se numește umplere înapoi:

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

2. Metoda replace().

Puteți înlocui Nan valori într-o coloană specifică cu media, mediana, modul sau orice altă valoare.

Legate de:Comenzi pandas pentru manipularea cadrelor de date

Vedeți cum funcționează acest lucru prin înlocuirea rândurilor nule dintr-o coloană numită cu media, mediana sau modul acesteia:

importa panda
import numpy #aceasta necesită să fi instalat anterior numpy
#Înlocuiți valorile nule cu media:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Înlocuiți coloana A cu mediana:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Utilizați valoarea modală pentru coloana C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
imprimare (df)

3. Completați datele lipsă cu interpolate()

The interpola() funcția utilizează valorile existente în DataFrame pentru a estima rândurile lipsă.

Rulați următorul cod pentru a vedea cum funcționează:

#Interpolați înapoi pe coloană:
df.interpolate (metoda ='liniar', limit_direction ='înapoi', inplace=True)
#Interpolați în ordine de avans pe coloană:
df.interpolate (metoda ='liniar', limit_direction ='înainte', inplace=True)

Tratați cu atenție rândurile lipsă

Deși am luat în considerare doar completarea datelor lipsă cu valori implicite, cum ar fi mediile, modul și alte metode, există alte tehnici pentru remedierea valorilor lipsă. Oamenii de știință de date, de exemplu, elimină uneori aceste rânduri lipsă, în funcție de caz.

În plus, este esențial să te gândești critic la strategia ta înainte de a o folosi. În caz contrar, este posibil să obțineți rezultate nedorite de analiză sau predicție. Unele strategii inițiale de vizualizare a datelor ar putea ajuta.

Cum să desenezi grafice în Jupyter Notebook

Afișați-vă datele cu grafice Jupyter Notebook.

Citiți în continuare

AcțiuneTweetE-mail
Subiecte asemănătoare
  • Programare
  • Piton
  • Programare
  • Bază de date
Despre autor
Idowu Omisola (125 articole publicate)

Idowu este pasionat de orice tehnologie inteligentă și productivitate. În timpul liber, se joacă cu codificarea și trece la tabla de șah când se plictisește, dar îi place și să se desprindă de rutină din când în când. Pasiunea lui pentru a le arăta oamenilor calea în jurul tehnologiei moderne îl motivează să scrie mai mult.

Mai multe de la Idowu Omisola

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona