Johdanto Pandas.Dropnaan ()

Pythonin avoimen lähdekoodin kirjasto Pandas on epäilemättä eniten käytetty kirjasto tietojenkäsittelyyn ja analyysiin. Se on myös edullinen paketti ad-hoc-tietojen manipulointioperaatioille. Hyvitys menee sen erittäin joustavaan dataesitykseen, joka käyttää DataFrame-kehyksiä ja toimintojen arsenaalia, joka altistuu näissä tietokehyksissä olevan tiedon manipuloinnille. Mahdolliset tosielämän tietoongelmat aiheuttavat puuttuvan tiedon, ja on välttämätöntä, että tällaisista tietopisteistä huolehditaan oikealla tavalla. Tämä toiminto, Pandas.Dropna (), tukee puuttuvien tietojen käsittelyä millä tahansa sopivalla tavalla .

Mitä tarkalleen ovat Pandas.Dropna ()?

Pydata-sivulle voidaan viitata viralliselle toiminnon määritelmälle.

Esitetty toimintootsikko on seuraava (yhdessä parametrien oletusarvojen kanssa):

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

Funktion määritelmässä esitetyt parametrit (pois lukien itse (itse tietokehyksen objekti)) ovat seuraavat:

  • akseli: Se tarkoittaa suuntausta (rivi tai sarake), johon tiedot pudotetaan. Mahdolliset arvot ovat 0 tai 1 (vastaavasti myös 'hakemisto' tai 'sarakkeet'). 0 / 'hakemisto' edustaa pudottavia rivejä ja 1 / 'sarakkeet' edustavat pudottavia sarakkeita.
  • miten: Määrittää skenaarion, jossa nolla-arvoinen sarake / rivi on pudotettava. Arvot ovat 'mikä tahansa' tai 'kaikki'. 'kaikki' pudota rivi / sarake vain, jos kaikki rivin / sarakkeen arvot ovat tyhjät. 'mikä tahansa' pudottaa rivin / sarakkeen, kun ainakin yksi rivin / sarakkeen arvo on nolla.
  • kynnysarvo: Määrittää rivillä / sarakkeissa muiden kuin NA-arvojen vähimmäismäärän, jotta sitä voidaan pitää lopullisessa tuloksessa. Kaikki rivit / sarakkeet, joissa ei-NA-arvojen lukumäärä <kynnysarvo, poistetaan riippumatta muista parametreista. Kun kynnysarvo = ei mitään, tätä suodatinta ei huomioida.
  • alajoukko: akseli määrittää, onko rivejä / sarakkeita pudotettava. alajoukko ottaa luettelon vastaavasti sarakkeista / riveistä (vastapäätä akselia), joille on haettava nolla / NA-arvoja vastaavan sarake- / riviluettelon sijasta.
  • paikan päällä: Hyväksi käytännöksi alkuperäistä DataFrame-kehystä (tai datan esitystä) ei muuteta, mutta erillinen kopio muutoksineen (ts. pudotetut rivit / sarakkeet) palautetaan. inplace-ominaisuus antaa sinulle joustavuuden muokata alkuperäistä tietorakennetta itse.

Nyt kun meillä on yleinen idea dropna (): n paljastamista parametreista, katsotaan joitain puuttuvien tietojen mahdollisia skenaarioita ja miten niitä käsitellään.

Esimerkki Pandas.Dropnan käyttötapauksista ()

Alla on esimerkkejä pandas.dropna ():

Tuo pandat: Dropna () : n käyttämiseen on oltava DataFrame. DataFrame-kehyksen luomiseksi pandan kirjasto on tuotava (ei yllätystä). Tuomme sen aliaksella pd viiteobjekteihin moduulin alla sopivasti. Null-arvojen määrittämiseksi pysymme numerossa.nan. Siksi tuomme numpy-kirjaston aliaksella np:

Koodi:

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

1. Luo DataFrame-objekti manipulointia varten

Kun pandaa tuodaan, kaikki menetelmät, toiminnot ja rakentajat ovat käytettävissä työtilassa. Joten luodaan DataFrame, joka voi auttaa meitä osoittamaan dropna () -käyttöä.

Koodi:

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

Tulostettua DataFrame-kehystä manipuloidaan alla olevassa esittelyssä.

2. Rivien pudottaminen vs. sarakkeet

Akseliparametria käytetään rivien tai sarakkeiden pudottamiseen seuraavasti:

Koodi:

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

lähtö:

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

Kaikki sarakkeet, joissa on vähintään 1 NaN solun arvona, pudotetaan. Katsotaan kuinka rivit (akseli = 0) toimivat.
Huomaa : Tämä on oletuskäyttäytyminen, kun akselia ei ole määritelty nimenomaisesti.

Koodi:

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

lähtö:

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

Hmm, palautetussa DataFrame-kehyksessä ei ole enää tietoja! Tämä ei tietenkään ole aiottua käyttäytymistä. Katsotaanpa kuinka korjata tämä.

3. Subset-määritteen käyttäminen

Aiemmat operaatiot olivat pudottamassa kaikkien sarakkeiden perusteella, kun akseli = 0. Koska siellä on sarake perustaja, jolla on vain nolla-arvot, kaikki rivit pudotetaan. Määritämme suodattamiseen käytettävä sarake:

Koodi:

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

lähtö:

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

Nyt, kuten näemme, vain Networth-sarakkeessa olevat Nanvalue-tietueet hylätään. Palautettua DataFrame-kehystä voidaan muokata uudelleen soveltamalla dropna () -painiketta uudelleen suodattaaksesi sarakkeet ohittamalla akselin = 1.

4. Miten parametri

Oletuksena dropna () pudottaa koko rivin / sarakkeen, vaikka vain yksi arvo puuttuu. Nopea läppäpuoli paljastuu on pudota vain, kun kaikki rivin / sarakkeen arvot ovat tyhjät. Tämä saavutetaan asettamalla kuinka = 'kaikki' sen sijaan, miten = 'mikä tahansa' (oletuskäyttäytyminen).

Koodi:

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

lähtö:

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

Nyt saatua DataFrame-kehystä voidaan käyttää rivien / sarakkeiden pudottamiseen monimutkaisemmalla logiikalla tarvittaessa.

5. Ohjauksen saaminen Thresh-kautta

Thresh-parametri on todennäköisesti tehokkain työkalu, kun se yhdistetään muihin sopivasti.

Koodi:

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

lähtö:

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

Asettamalla akseli = 1 ja kynnysarvo = 2, vain ne sarakkeet, joissa on vähintään 2 ei-NaN-arvoa, säilytetään.

johtopäätös

Yllä esitetyt esimerkit ovat luonteeltaan yksinkertaisia, mutta ovat kuitenkin riittävän tehokkaita käsittelemään suurimpaa osaa ongelmista, joihin saatat kompastua tosielämän tilanteissa. Silti tulisi harjoitella eri parametrien yhdistämistä, jotta saadaan kristallinkirkas käsitys niiden käytöstä ja rakennuksen nopeudesta sovelluksessa.

Suositellut artikkelit

Tämä on opas Pandas.Dropnaan (). Tässä keskustellaan siitä, mikä on Pandas.Dropna (), parametreja ja esimerkkejä. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja-

  1. Mikä on Pandas
  2. NLP Pythonissa
  3. Abstrakti luokka Pythonissa
  4. Tehtaalla Pythonissa
  5. Factorial Program in JavaScript