Úvod do Pandas.Dropna ()

Pythonova open-source knižnica Pandas je nepochybne najrozšírenejšou knižnicou pre vedu a analýzu dát. Je to tiež výhodný balík pre operácie spracovania údajov ad hoc. Kredit patrí jeho extrémne flexibilnej reprezentácii údajov pomocou DataFrames a arzenálu funkcií vystavených manipulácii s údajmi prítomnými v týchto dátových rámcoch. Akékoľvek problémy s údajmi v reálnom živote spôsobia problém s chýbajúcimi údajmi a je nevyhnutné, aby sa s takýmito údajovými bodmi zaobchádzalo správne. Táto funkcia, Pandas.Dropna (), podporuje spracovanie chýbajúcich údajov akýmkoľvek vhodným spôsobom .

Čo presne je Pandas.Dropna ()?

Stránka Pydata môže byť označená ako oficiálna definícia funkcie.

Zobrazená hlavička funkcie je nasledovná (spolu s predvolenými hodnotami parametrov):

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

Parametre (okrem self (objekt samotného dátového rámca)) zobrazené v definícii funkcie sú nasledujúce:

  • os: Vzťahuje sa na orientáciu (riadok alebo stĺpec), v ktorej sú údaje vynechané. Možné hodnoty sú 0 alebo 1 (tiež „index“ alebo „stĺpce“). 0 / „index“ predstavuje klesajúce riadky a 1 / „stĺpce“ predstavujú klesajúce stĺpce.
  • how: Určuje scenár, v ktorom musí byť vynechaný stĺpec / riadok obsahujúci nulovú hodnotu. Hodnoty sú „akékoľvek“ alebo „všetky“. 'all' vynechá riadok / stĺpec, iba ak sú všetky hodnoty v riadku / stĺpci nulové. „any“ vynechá riadok / stĺpec, ak je aspoň jedna hodnota v riadku / stĺpci null.
  • thresh: Určuje minimálny počet ne-NA hodnôt v riadku / stĺpci, aby sa mohol zohľadniť v konečnom výsledku. Akýkoľvek riadok / stĺpec s počtom ne-NA hodnôt <prahová hodnota sa odstráni bez ohľadu na iné odovzdané parametre. Keď thresh = none, tento filter sa ignoruje.
  • podmnožina: os určuje, či sa majú vypustiť riadky / stĺpce. podmnožina preberá zoznam stĺpcov / riadkov (oproti osi), ktoré sa majú hľadať pre hodnoty null / NA namiesto celého zoznamu stĺpcov / riadkov.
  • inplace: Ako osvedčený postup sa pôvodný DataFrame (alebo reprezentácia údajov) nemení, ale vracia sa samostatná kópia so zmenami (tj vynechané riadky / stĺpce). Atribút inplace vám poskytuje flexibilitu pri úprave pôvodnej štruktúry samotných údajov.

Teraz, keď máme všeobecnú predstavu o parametroch vystavených dropna (), pozrime sa na možné scenáre chýbajúcich údajov a na ich riešenie.

Príklad použitia Pandas.Dropna ()

Nižšie sú uvedené príklady pandas.dropna ():

Importovať pandy: Aby ste mohli používať Dropna (), musí existovať DataFrame. Na vytvorenie DataFrame je potrebné importovať pandovu knižnicu (bez prekvapenia). My pohodlne importujeme s alias pd na referenčné objekty pod modulom. Pre definovanie nulových hodnôt sa budeme držať numpy.nan. Takto importujeme numpy knižnicu s aliasom np:

kód:

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

1. Vytvorte objekt DataFrame pre manipuláciu

Po importovaní pand sú vo vašom pracovnom priestore k dispozícii všetky metódy, funkcie a konštruktory. Vytvorme teda DataFrame, ktorý nám môže pomôcť pri demonštrácii použitia dropna ().

kód:

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

S vytlačeným dátovým rámom sa bude manipulovať v našej ukážke nižšie.

2. Vypúšťanie riadkov vs stĺpcov

Parameter osi sa používa na vyradenie riadkov alebo stĺpcov, ako je uvedené nižšie:

kód:

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

Výkon:

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

Akýkoľvek stĺpec obsahujúci aspoň 1 NaN ako bunkovú hodnotu je vynechaný. Pozrime sa, ako budú fungovať riadky (os = 0).
Poznámka : Toto je predvolené správanie, keď os nie je explicitne zadaná.

kód:

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

Výkon:

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

Hmm, takže vo vrátenom DataFrame už nie sú žiadne dáta! Toto samozrejme nie je zamýšľané správanie. Pozrime sa, ako to vyriešiť.

3. Použitie atribútu podmnožiny

Predchádzajúce operácie klesali na základe všetkých stĺpcov, keď os = 0. Pretože existuje stĺpec Zakladateľ, ktorý má iba nulové hodnoty, všetky riadky sa zrušia. Zadajte stĺpec, ktorý sa má použiť na filtrovanie:

kód:

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

Výkon:

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

Ako vidíme, v stĺpci Networth sa vynechávajú iba záznamy s hodnotami Nanvalue. Vrátený DataFrame je možné znova upraviť opätovným použitím dropna (), aby sa stĺpce odfiltrovali tak, že prejdete okolo osi = 1.

4. Použitie parametra How Parameter

V predvolenom nastavení dropna () vynecháva celý riadok / stĺpec, aj keď chýba iba jedna hodnota. Rýchlo odklonená strana má klesnúť, len ak sú všetky hodnoty v riadku / stĺpci nulové. Toto je dosiahnuté nastavením how = 'all' namiesto how = 'any' (predvolené správanie).

kód:

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

Výkon:

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

Výsledný DataFrame sa teraz môže použiť na vyradenie riadkov / stĺpcov so zložitejšou logikou, ak je to potrebné.

5. Získanie kontroly prostredníctvom Thresh

Parameter mlátiť je pravdepodobne najúčinnejším nástrojom, keď sa vhodne kombinuje so zvyškom.

kód:

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

Výkon:

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

Nastavením osi = 1 a prahu = 2 zostanú zachované iba stĺpce s najmenej 2 hodnotami, ktoré nie sú NaN.

záver

Príklady uvedené vyššie sú svojou povahou zjednodušené, napriek tomu sú dostatočne silné na to, aby vyriešili väčšinu problémov, s ktorými by ste sa mohli stretnúť v skutočných situáciách. Napriek tomu by človek mal praktizovať kombináciu rôznych parametrov, aby mal krištáľovo jasné pochopenie ich použitia a rýchlosť zostavovania pri ich aplikácii.

Odporúčané články

Toto je sprievodca Pandas.Dropna (). Tu diskutujeme, čo je Pandas.Dropna (), parametre a príklady. Viac informácií nájdete aj v ďalších súvisiacich článkoch.

  1. Čo je Pandas
  2. NLP v Pythone
  3. Abstraktná trieda v Pythone
  4. Factorial v Pythone
  5. Faktorský program v JavaScripte

Kategórie: