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 -

  1. Što je Panda
  2. NLP u Pythonu
  3. Sažetak klase u Pythonu
  4. Čimbenik u Pythonu
  5. Faktorski program u JavaScript-u

Kategorija: