Čistenie údajov vo vede o údajoch nepochybne zaberá veľa času a chýbajúce údaje sú jednou z výziev, ktorým budete často čeliť. pandas je cenný nástroj na manipuláciu s údajmi v jazyku Python, ktorý vám okrem iného pomáha opraviť chýbajúce hodnoty vo vašej množine údajov.

Chýbajúce údaje môžete opraviť ich vypustením alebo doplnením inými hodnotami. V tomto článku vysvetlíme a preskúmame rôzne spôsoby, ako vyplniť chýbajúce údaje pomocou pandy.

1. Použite metódu fillna():

The fillna() funkcia iteruje cez vašu množinu údajov a vyplní všetky prázdne riadky zadanou hodnotou. Prijíma niektoré voliteľné argumenty – všimnite si nasledujúce:

Hodnota: Toto je hodnota, ktorú chcete vložiť do chýbajúcich riadkov.

Metóda: Umožňuje vám doplniť chýbajúce hodnoty dopredu alebo dozadu. Prijíma a 'bfill' alebo 'ffill' parameter.

Na mieste: Toto akceptuje podmienené vyhlásenie. Ak je True, upraví DataFrame natrvalo. Inak nie.

Skôr ako začneme, uistite sa, že ste si do svojho počítača nainštalovali pandy Virtuálne prostredie Python použitím pip vo vašom termináli:

instagram viewer
pip install pandy

Ďalej v skripte Python vytvoríme cvičný DataFrame a vložíme hodnoty null (Nan) do niekoľkých riadkov:

importovať pandy
df = pandy. DataFrame({'A' :[0, 3, None, 10, 3, None],
'B': [žiadne, žiadne, 7,13, 13,82, 7, 7],
'C': [Žiadne, "Pandy", Žiadne, "Pandy", "Python", "JavaScript"]})

Súvisiace:Ako importovať údaje programu Excel do skriptov Python pomocou Pandas

Teraz sa pozrite, ako môžete vyplniť tieto chýbajúce hodnoty pomocou rôznych dostupných metód v pandách.

Táto metóda zahŕňa nahradenie chýbajúcich hodnôt vypočítanými priemermi. Doplnenie chýbajúcich údajov strednou alebo strednou hodnotou je použiteľné, keď príslušné stĺpce majú celočíselné alebo pohyblivé typy údajov.

Chýbajúce údaje môžete doplniť aj hodnotou režimu, ktorá sa najčastejšie vyskytuje. Platí to aj pre celé čísla alebo pohyblivé čísla. Ale je to šikovnejšie, keď príslušné stĺpce obsahujú reťazce.

Tu je postup, ako vložiť priemer a medián do chýbajúcich riadkov v DataFrame, ktorý ste vytvorili predtým:

#Na vloženie strednej hodnoty každého stĺpca do chýbajúcich riadkov:
df.fillna (df.mean().round (1), inplace=True)
#Pre medián:
df.fillna (df.median().round (1), inplace=True)
tlačiť (df)

Vloženie modálnej hodnoty, ako ste to urobili pre priemer a medián vyššie, nezachytí celý DataFrame. Môžete ho však vložiť do konkrétneho stĺpca namiesto, povedzme, stĺpca C:

df['C'].fillna (df['C'].mode()[0], inplace=True)

Napriek tomu je stále možné vložiť modálnu hodnotu každého stĺpca do chýbajúcich riadkov naraz pomocou cyklu for:

pre i v df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
tlačiť (df)

Ak chcete byť pri vkladaní priemeru, mediánu alebo režimu špecifický pre stĺpec:

df.fillna({"A":df['A'].mean(), 
"B": df['B'].median(),
"C": df['C'].mode()[0]},
inplace=True)
tlačiť (df)

Vyplňte nulové riadky hodnotami pomocou ffill

To zahŕňa špecifikáciu metódy výplne vo vnútri ako fillna() funkciu. Táto metóda vyplní každý chýbajúci riadok hodnotou najbližšieho nad ním.

Dalo by sa to nazvať aj vypĺňanie dopredu:

df.fillna (method='ffill', inplace=True)

Vyplňte chýbajúce riadky hodnotami pomocou bfill

Tu nahradíte ffill vyššie spomenutá metóda s bfill. Vyplní každý chýbajúci riadok v DataFrame najbližšou hodnotou pod ním.

Toto sa nazýva spätné plnenie:

df.fillna (method='bfill', inplace=True)

2. Metóda nahradiť().

Môžete nahradiť Nan hodnoty v konkrétnom stĺpci s priemerom, mediánom, režimom alebo akoukoľvek inou hodnotou.

Súvisiace:pandas Príkazy na manipuláciu s dátovými rámcami

Zistite, ako to funguje, nahradením nulových riadkov v pomenovanom stĺpci jeho priemerom, mediánom alebo režimom:

importovať pandy
import numpy #toto vyžaduje, aby ste si predtým nainštalovali numpy
#Nahraďte nulové hodnoty strednou hodnotou:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Nahraďte stĺpec A mediánom:
df['B'].replace([numpy.nan], df[B].medián(), inplace=True)
#Použite modálnu hodnotu pre stĺpec C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
tlačiť (df)

3. Doplňte chýbajúce údaje pomocou interpolácie ()

The interpolovať () funkcia používa existujúce hodnoty v DataFrame na odhadnutie chýbajúcich riadkov.

Spustite nasledujúci kód, aby ste videli, ako to funguje:

#Interpolujte spätne cez stĺpec:
df.interpolate (metóda ='lineárna', limit_direction ='dozadu', inplace=True)
#Interpolujte v doprednom poradí cez stĺpec:
df.interpolate (metóda ='linear', limit_direction ='forward', inplace=True)

S chýbajúcimi riadkami zaobchádzajte opatrne

Aj keď sme zvažovali iba vyplnenie chýbajúcich údajov predvolenými hodnotami, ako sú priemery, režim a iné metódy, existujú aj iné techniky na opravu chýbajúcich hodnôt. Vedci údajov napríklad niekedy odstránia tieto chýbajúce riadky v závislosti od prípadu.

Okrem toho je dôležité kriticky premyslieť svoju stratégiu pred jej použitím. V opačnom prípade môžete získať nežiaduce výsledky analýzy alebo predpovede. Niektoré počiatočné stratégie vizualizácie údajov môžu pomôcť.

Ako kresliť grafy v notebooku Jupyter

Zobrazte svoje údaje pomocou grafov Jupyter Notebook.

Prečítajte si ďalej

zdieľamTweetujteEmail
Súvisiace témy
  • Programovanie
  • Python
  • Programovanie
  • databázy
O autorovi
Idowu Omisola (125 publikovaných článkov)

Idowu je nadšený z akejkoľvek inteligentnej technológie a produktivity. Vo voľnom čase sa hrá s kódovaním a keď sa nudí, prepne na šachovnicu, no tiež sa rád raz za čas odtrhne od rutiny. Jeho vášeň ukázať ľuďom cestu okolo moderných technológií ho motivuje k ďalšiemu písaniu.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber