Uvod u Pandas.Dropna ()
Pythonova knjižnica otvorenog koda Pandas nesumnjivo je najčešće korištena knjižnica za znanost i analizu podataka. Također je preferirani paket za ad-hoc manipulacije podacima. Zasluga je izuzetno fleksibilnom predstavljanju podataka koristeći DataFrames i arsenal funkcija izloženih manipuliranju podacima prisutanima u tim okvirima podataka. Bilo kakvi problemi s podacima iz stvarnog života uzrokovat će izdavanje podataka koji nedostaju i vrlo je važno da se o takvim točkama podataka brine na pravi način. Rukovanje nedostajućim podacima na bilo koji prikladan način podržava ovu funkciju, Pandas.Dropna () .
Što su točno Pandas.Dropna ()?
Stranica Pydata može se uputiti za službenu definiciju funkcije.
Prikazano zaglavlje funkcije je sljedeće (zajedno sa zadanim vrijednostima parametra):
DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)
Parametri (isključujući self (sam objekt podatkovnog okvira)) prikazani u definiciji funkcije su sljedeći:
- os: odnosi se na orijentaciju (redak ili stupac) u koji se ispadaju podaci. Moguće vrijednosti su 0 ili 1 (također 'indeks' ili 'stupovi'). 0 / 'indeks' predstavlja padajuće redove, a 1 / 'stupci' predstavljaju padajuće stupce.
- kako: Određuje scenarij u kojem stupac / redak koji sadrži nultu vrijednost mora biti ispušten. Vrijednosti su 'bilo koje' ili 'sve'. 'all' ispušta retke / stupce samo ako su sve vrijednosti u retku / stupcu null. 'bilo koji' ispada redak / stupac kada je najmanje jedna vrijednost u retku / stupcu null.
- thresh: Određuje minimalni broj ne-NA vrijednosti u retku / stupcu kako bi se mogao uzeti u obzir u konačnom rezultatu. Redak / stupac s brojem vrijednosti ne-NA <thresh vrijednosti uklanja se bez obzira na ostale parametre. Kada je thres = nijedan, ovaj se filtar zanemaruje.
- podskup: os određuje da li retke / stupce treba ispustiti. podskup sadrži popis stupaca / redaka (nasuprot osi) u kojima se traži nula / NA vrijednosti umjesto cijelog popisa stupaca / redaka.
- inplace: Kao dobra praksa, izvorni DataFrame (ili predstavljanje podataka) se ne mijenja, već se vraća zasebna kopija s promjenama (tj. ispuštenim redovima / stupovima). atribut inplace daje vam fleksibilnost za izmjenu same izvorne strukture podataka.
Sada kada imamo opću ideju o parametrima izloženim dropna (), pogledajmo neke moguće scenarije nedostajućih podataka i kako ih rješavamo.
Primjeri slučajeva upotrebe Pandas.Dropna ()
Ispod su primjeri pandas.dropna ():
Uvoz pande: Da biste koristili Dropna (), mora postojati DataFrame. Za stvaranje DataFrame-a biblioteku pande potrebno je uvesti (ovdje nema iznenađenja). Uvest ćemo ga s pseudonimom pd-a za referencu objekata u modulu. Za definiranje nultih vrijednosti, pridržavat ćemo se numpy.nan. Tako ćemo uvesti numpy biblioteku sa pseudonimom np:
Kodirati:
In (1): import pandas as pd
In (2): import numpy as np
1. Stvorite objekt DataFrame za manipulaciju
Pri uvozu panda sve su metode, funkcije i konstruktori dostupni u vašem radnom prostoru. Zato napravimo DataFrame koji nam može pomoći u demonstraciji uporabe dropna ().
Kodirati:
In (3): df = pd.DataFrame(
('Company':('Google', 'Amazon', 'Infosys', 'Directi'),
'Age':('21', '23', '38', '22'),
'NetWorth ($ bn)':(300, np.nan, np.nan, 1.3),
'Founder':(np.nan, np.nan, np.nan, np.nan),
'Headquarter-Country':('United States', np.nan, 'India', 'India') ))
In (4): print(df)
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
1 Amazon 23 NaN NaN NaN
2 Infosys 38 NaN NaN India
3 Directi 22 1.3 NaN India
Ispisanim DataFrameom manipulirat će se na našoj demonstraciji u nastavku.
2. Ispuštanje redaka prema stupcima
Parametar osi koristi se za ispuštanje redaka ili stupaca kao što je prikazano u nastavku:
Kodirati:
In (5): df.dropna(axis=1)
Izlaz:
Out(5):
Company Age
0 Google 21
1 Amazon 23
2 Infosys 38
3 Directi 22
Bilo koji stupac koji sadrži najmanje 1 NaN kao vrijednost stanice pada. Pogledajmo kako će raditi redovi (os = 0).
Napomena : Ovo je zadano ponašanje kada osa nije izričito navedena.
Kodirati:
In (6): df.dropna(axis=0)
Izlaz:
Out(6):
Empty DataFrame
Columns: (Company, Age, NetWorth ($ bn), Founder, Headquarter-Country) Index: ()
Hmm, dakle više nema podataka u vraćenom DataFrameu! Ovo očito nije predviđeno ponašanje. Pogledajmo kako to popraviti.
3. Upotreba atributa podskupine
Prethodne operacije padale su na temelju svih stupaca kada je os = 0. Budući da postoji osnivač stupca koji ima samo nulte vrijednosti, svi se redovi ispuštaju. Navedimo stupac koji će se koristiti za filtriranje:
Kodirati:
In (7): df.dropna(axis=0, subset=('NetWorth ($ bn)'))
Izlaz:
Out(7):
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
3 Directi 22 1.3 NaN India
Sada, kao što vidimo, ispadaju samo zapisi s Nanvalueom u stupcu Networth. Vraćeni DataFrame može se ponovno izmijeniti primjenom dropna () još jednom za filtriranje stupaca prolaskom osi = 1.
4. Korištenje kako parametara
Dropna () ispucava cijeli red / stupac, čak i ako nedostaje samo jedna vrijednost. Izloženo brzo prevrtanje pada samo ako su sve vrijednosti u retku / stupcu null. To se postiže postavljanjem how = 'all' umjesto how = 'any' (zadano ponašanje).
Kodirati:
In (8): df.dropna(axis=1, how='all')
Izlaz:
Out(8):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India
Sada se rezultirajući DataFrame može koristiti za ispuštanje redaka / stupaca složenijih logika ako je potrebno.
5. Dobivanje kontrole kroz Thresh
Parametar mlaza vjerojatno je najmoćniji alat u kombinaciji s ostalim.
Kodirati:
In (17): df.dropna(axis=1, thresh=2)
Izlaz:
Out(17):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India
Postavljanjem osi = 1 i praška = 2 zadržavaju se samo oni stupci s najmanje 2 ne-NaN vrijednosti.
Zaključak
Gore prikazani primjeri su pojednostavljene prirode, ali dovoljno su moćni da se bave većinom problema u koje možete naići u stvarnim situacijama. Svejedno, treba prakticirati kombiniranje različitih parametara kako bi se dobilo kristalno jasno razumijevanje njihove uporabe i brzine izgradnje u njihovoj primjeni.
Preporučeni članci
Ovo je vodič za Pandas.Dropna (). Ovdje razgovaramo o tome što je Pandas.Dropna (), parametrima i primjerima. Možete i proći kroz naše druge povezane članke da biste saznali više -
- Što je Panda
- NLP u Pythonu
- Sažetak klase u Pythonu
- Čimbenik u Pythonu
- Faktorski program u JavaScript-u