Uvod v Pandas.Dropna ()

Pythonova knjižnica z odprto kodo Pandas je nedvomno najbolj razširjena knjižnica za znanost in analizo podatkov. Prav tako je zaželeni paket za ad hoc manipulacije podatkov. Zasluga je v izjemno prilagodljivi predstavitvi podatkov z uporabo DataFrames in arzenala funkcij, ki so izpostavljene manipulaciji s podatki, ki so prisotni v teh podatkovnih okvirih. Morebitne težave s podatki v resničnem življenju bodo povzročile izdajo manjkajočih podatkov in nujno je, da se za take podatkovne točke poskrbi na pravilen način. Ta funkcija podpira Pandas.Dropna () .

Kaj natančno so Pandas.Dropna ()?

Stran Pydata se lahko sklicuje na uradno definicijo funkcije.

Prikazano funkcijsko glavo (skupaj s privzetimi vrednostmi parametra):

DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)

Parametri (razen self-ja (sam objekt podatkovnega okvira)), prikazani v definiciji funkcije, so naslednji:

  • os: Nanaša se na orientacijo (vrstico ali stolpec), v katero se spustijo podatki. Možne vrednosti so 0 ali 1 (tudi 'indeks' oziroma 'stolpci'). 0 / 'indeks' predstavlja padajoče vrstice in 1 / 'stolpci' predstavljajo padajoče stolpce.
  • kako: Določi scenarij, v katerem je treba stolpec / vrstico, ki vsebuje ničelno vrednost, spustiti. Vrednosti so 'vse' ali 'vse'. "vse" vrne vrstico / stolpec samo, če so vse vrednosti v vrstici / stolpcu nične. 'any' pusti vrstico / stolpec, če je vsaj ena vrednost v vrstici / stolpcu nična.
  • thresh: Določi najmanjše število vrednosti, ki niso v NA / vrstici, da bi se upoštevalo pri končnem rezultatu. Vsaka vrstica / stolpec s številom ne-vrednosti <največje vrednosti NA se odstrani ne glede na druge posredovane parametre. Ko je thresh = noben, se ta filter prezre.
  • podniz: os določa, ali je treba vrstice / stolpce spustiti. podvrsta vsebuje seznam stolpcev / vrstic (nasproti osi), ki jih je treba iskati ničelne / NA vrednosti namesto celotnega seznama stolpcev / vrstic.
  • inplace: Kot dobra praksa se izvirni DataFrame (ali zastopanje podatkov) ne spremeni, ampak se vrne ločena kopija s spremembami (tj. padle vrstice / stolpci). Atribut inplace vam omogoča prilagodljivost same izvorne strukture podatkov.

Zdaj, ko imamo splošno predstavo o parametrih, ki jih je izpostavil dropna (), poglejmo nekaj možnih scenarijev manjkajočih podatkov in kako se jih lotimo.

Primer uporabe primerov Pandas.Dropna ()

Spodaj so primeri pandas.dropna ():

Uvoz pand: Če želite uporabljati Dropna (), mora obstajati DataFrame. Če želite ustvariti DataFrame, je treba knjižnico pande uvoziti (tukaj ni presenečenje). Uvozili ga bomo z vzdevnikom pd, ki bo priročno napeljal predmete pod modulom. Za definiranje ničelnih vrednosti se bomo držali numpy.nan. Tako bomo uvozili numpy knjižnico z vzdevkom np:

Koda:

In (1): import pandas as pd
In (2): import numpy as np

1. Ustvarite objekt DataFrame za manipulacijo

Ob uvozu pand so v vašem delovnem prostoru na voljo vse metode, funkcije in konstruktorji. Torej ustvarimo DataFrame, ki nam lahko pomaga pri demonstraciji uporabe dropna ().

Koda:

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

Natisnjeni DataFrame bo v naši predstavitvi spodaj manipuliran.

2. Spuščanje vrstic proti stolpcem

Parameter osi se uporablja za spuščanje vrstic ali stolpcev, kot je prikazano spodaj:

Koda:

In (5): df.dropna(axis=1)

Izhod:

Out(5):
Company Age
0 Google 21
1 Amazon 23
2 Infosys 38
3 Directi 22

Vsak stolpec, ki vsebuje vsaj 1 NaN kot vrednost celice, se spusti. Poglejmo, kako bodo vrstice (os = 0) delovale.
Opomba : To je privzeto vedenje, če os ni izrecno določena.

Koda:

In (6): df.dropna(axis=0)

Izhod:

Out(6):
Empty DataFrame
Columns: (Company, Age, NetWorth ($ bn), Founder, Headquarter-Country) Index: ()

Hmm, torej v vrnjenem DataFrame-u ni nobenih podatkov! To očitno ni predvideno vedenje. Poglejmo, kako to odpraviti.

3. Uporaba atributa podskupine

Prejšnje operacije so padale na podlagi vseh stolpcev, kadar je os = 0. Ker je ustanovitelj stolpca, ki ima samo ničelne vrednosti, so vse vrstice izpuščene. Določimo stolpec, ki bo uporabljen za filtriranje:

Koda:

In (7): df.dropna(axis=0, subset=('NetWorth ($ bn)'))

Izhod:

Out(7):
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
3 Directi 22 1.3 NaN India

Zdaj, kot vidimo, so padli samo zapisi z Nanvalue v stolpcu Networth. Vrnjeni DataFrame je mogoče znova spremeniti tako, da ponovno uporabimo dropna () za filtriranje stolpcev s prehodom osi = 1.

4. Uporaba parametra Kako

Dropna () izbriše celotno vrstico / stolpec, tudi če manjka samo 1 vrednost. Hitro izpostavljeno stran je treba spustiti le, če so vse vrednosti v vrstici / stolpcu nične. To dosežemo z nastavitvijo how = 'all' namesto how = 'any' (privzeto vedenje).

Koda:

In (8): df.dropna(axis=1, how='all')

Izhod:

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

Zdaj lahko dobljeni DataFrame uporabimo za spuščanje vrstic / stolpcev s kompleksnejšo logiko, če je to potrebno.

5. Pridobivanje nadzora prek Thresh

Parameter mlaha je verjetno najmočnejše orodje, če ga ustrezno kombiniramo z ostalimi.

Koda:

In (17): df.dropna(axis=1, thresh=2)

Izhod:

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

Z nastavitvijo osi = 1 in thres = 2 se ohranijo samo tisti stolpci z najmanj 2 vrednostmi, ki niso NaN.

Zaključek

Zgoraj prikazani primeri so poenostavljeni, vendar so dovolj močni, da se spopadejo z večino težav, v katere se lahko spotaknete v resničnih situacijah. Ne glede na to bi morali kombinirati različne parametre, da bi imeli kristalno jasno razumevanje njihove uporabe in hitrosti gradnje pri uporabi.

Priporočeni članki

To je vodnik za Pandas.Dropna (). Tukaj razpravljamo, kaj je Pandas.Dropna (), parametre in primere. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Kaj je Panda
  2. NLP v Pythonu
  3. Izvleček razreda Python
  4. Factorial v Pythonu
  5. Faktorski program v JavaScript