Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Interpolácia je metóda na generovanie bodov medzi danými bodmi. V tomto návode vám ukážem, ako môžete použiť interpoláciu pri spracovaní chýbajúcich údajov v Pythone. Celé video tohto návodu si môžete pozrieť v spodnej časti tohto blogu.

V Pythone je interpolácia technika, ktorá sa väčšinou používa na imputáciu chýbajúcich hodnôt v dátovom rámci alebo sérii pri predbežnom spracovaní údajov. Ukážem, ako môžete použiť túto metódu na odhadnutie chýbajúcich údajových bodov vo vašich údajoch pomocou LuckyTemplates.

Ak sa pozrieme na naše pôvodné údaje nižšie, ktoré sú znázornené v hornom grafe, môžeme vidieť, že existuje veľa dier alebo chýbajúcich údajov, ktoré nemôžeme zobraziť, pretože tam nič nie je. V spodnom grafe však vidíme, že sme urobili nejaký odhad, aby sme zistili, ako by tieto údaje mohli vyzerať. Aktuálne údaje sú znázornené svetlomodrou farbou, zatiaľ čo interpolované údaje sú tmavomodrou farbou.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Existuje niekoľko rôznych typov odhadov, ktoré budeme robiť. Urobíme lineárnu interpoláciu, najbližšiu interpoláciu a potom váženú časovú interpoláciu. Každý z nich nám poskytne trochu iné výsledky.

Vyššie uvedený príklad používa váženú časovú interpoláciu, ktorá vyzerá takmer rovnako ako lineárna interpolácia, s výnimkou, že je vážená na základe dní. Linear odhadol údaje na základe sklonu medzi týmito dvoma údajovými bodmi. Najbližšia interpolácia má plochejší typ odhadu, ako môžete vidieť nižšie, kde sme sa pozreli na najbližšiu hodnotu a dokázali sme odhadnúť, čo medzi týmito dvoma existuje.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Preskočme teda k notebooku Jupyter a prinesme ho.

Obsah

Ako používať interpoláciu pri spracovávaní chýbajúcich údajov v Pythone

Môžete použiť Script Editor na skriptovanie všetkého, ale je to jednoduchšie. V notebooku Jupyter získate viac spätnej väzby. Poďme teda zdokumentovať, čo robíme. Keď to skopírujeme a prilepíme do nášho editora skriptov Python, bude to veľmi čisté a jasné.

Naimportujme knižnice, ktoré chceme, a budeme importovať Pandy a uložiť ich ako premennú PD. Ideme importovať Numpy a uložiť ho ako premennú NP. Pandas je knižnica na manipuláciu s údajmi, zatiaľ čo Numpy nám umožňuje aj manipuláciu s údajmi a dáva nám nejakú lineárnu algebru.

Chceme priniesť náš súbor údajov a uložíme ho ako premennú df . A práve použijeme premennú Pandas ( pd ) a použijeme funkciu read.csv . Potom skopírujeme a prilepíme tam, kde tento súbor existuje v našom počítači. Môj je v mojom pracovnom adresári, takže všetko, čo musím urobiť, je napísať machines.csv a zapuzdreť ho do zátvoriek.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

A poďme sa pozrieť na náš súbor údajov len pomocou premennej df. Môžete vidieť, že to ide od 1. 2022 až do 25. Sú to po sebe nasledujúce dni až do 15. a potom chýbajú štyri dni na 19. a potom chýbajú tri dni, keď sa dostaneme do 22. a dva dni chýbajú na 25. deň.

V preskočených dňoch nechýbajú údaje. To jednoducho nie sú údaje v našom súbore údajov. To, čím sa budeme zaoberať, sú chýbajúce údaje, ktoré vidíte reprezentované týmito hodnotami NaN alebo žiadnymi hodnotami.

Teraz, keď máme množinu údajov, použite naše rôzne typy interpretácie a uložte ich ako rôzne stĺpce. Vidíme, že máme objekt , ktorý je reprezentovaný textom, a tiež máme float .

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Stĺpec Dátum izolujem pomocou zápisu zátvoriek. Potom použijem rovná sa na priradenie tohto. Budem používať premennú pd a potom používam iba funkciu to_datetime. A potom túto funkciu uzavriem zátvorkou a pridám do stĺpca Dátum.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Vidíme, že teraz máme dátum ako správny typ údajov.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Máme tu index, ktorý je označený číslami 1 až 18. Keď urobíme Linear, použije tieto čísla na vytvorenie lineárneho spojenia medzi existujúcimi dátovými bodmi. Chceme však mať možnosť použiť aj časovo váženú interpoláciu, ktorá sa pozerá na čas a dáva nám výsledky založené na skutočných dňoch. Stĺpec Dátum chceme nastaviť ako index, aby sme ho mohli využiť.

Použijem svoju premennú dátového rámca (df) a urobím set_index. Potrebujeme zadať parameter s názvom inplace , aby sme sa uistili, že je odovzdaný natrvalo. Takže použijem inplace sa rovná true a potom stlačím shift a enter. A s tým môžete vidieť, že číselný index zmizol a máme index Datetime.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Teraz môžeme začať stavať stĺpce, ktoré chceme. Zostavme stĺpec, v ktorom interpolujeme najbližší dátový bod, ktorý doplní tieto chýbajúce hodnoty najbližšou hodnotou. Chceme vytvoriť stĺpec s názvom users_nearest a chceme ho priradiť k stĺpcu Users .

Chceme vytvoriť stĺpec s názvom user_nearest a chceme ho priradiť k stĺpcu používateľa. A teraz, keď máme tento stĺpec izolovaný, môžeme použiť funkciu a môžeme stlačiť Shift-tab, aby sme videli, aké parametre má táto funkcia. Existuje mnoho rôznych typov metód.

Môžete vidieť, že predvolená hodnota je lineárna, a ak chcete, aby videl všetky rôzne metódy, v tomto sú informácie. Môžete to otvoriť úplne hore a je tu veľa informácií, ktoré vám poskytnú veľa informácií. Ale vždy je lepšie ísť na stránku Pandas a pozrieť sa, aké sú všetky rôzne typy interpolácií.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Teraz zadáme metódu, ktorú chceme, a použijeme metódu najbližšej interpolácie. Všetko, čo musíme urobiť, je spustiť toto a môžete vidieť, že sa vytvorí stĺpec. Ak sa pozrieme na tento konkrétny riadok, môžeme to vidieť ako chýbajúcu hodnotu. A môžete vidieť, že bola interpolovaná tam, kde sa vzala najbližšia hodnota, a tu bola pridaná. Ako vidíte, pre tento konkrétny riadok už nemáme chýbajúce hodnoty.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Teraz to skopírujeme dvakrát a zmeňme názov týchto stĺpcov na user_linear a user_time . Zmeníme aj metódy, aby zodpovedali našim nadpisom. Môžeme sa posúvať a zadávať a môžete vidieť, že sme vytvorili tri stĺpce založené na rôznych typoch interpolačných metód.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Ďalej chcem vytvoriť ešte jeden konkrétny stĺpec, ktorý nám umožní označiť, ktoré z nich sú prázdne, ako príznak v našich údajoch. Na to použijeme Numpy.

Takže vytvoríme nový stĺpec s názvom df a potom ho nazveme príznak. Tomu priradíme toto znamienko rovnosti. Potom použijeme np , čo je naša premenná Numpy. A potom použijeme funkciu where , čo je podmienená funkcia. Nastavíme podmienku a potom dostaneme príklad pre true a false. Používame double equals, čo sa v Pythone rovná. Keď je to pravda, chceme povedať Chýbajúce údaje . Ďalšou možnosťou budú údaje .

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Túto vlajku môžeme použiť v našom vizuáli. Keď sme vo vašom notebooku, prejdite na transformáciu a stlačte spustiť skript Python. Teraz existuje niekoľko rôznych krokov. Potrebujeme, aby to fungovalo v rámciživotné prostredie.

Máme tu všetky naše kódy a musíme pridať niekoľko ďalších krokov. Po prvé, keď sa zaoberáme dátumom a časom, musíme pridať parameter chyby, ktorý hovorí, že ak máme nejaké chyby, môžete si to vynútiť alebo sa pokúsiť zmeniť. Takže, dám sem chyby rovné a potom vynútené zátvorky . Ďalej musíme premennú množiny údajov znova priradiť ako df.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Keď klikneme na OK, zobrazí sa ďalšia chyba a toto je to, čo musíme urobiť, aby sme to vyriešili. Ak prejdeme naše kroky, nemusíme mať formátovaný dátum. Necháme Python pracovať s dátumami, pretože dátumy sú jedinečné pre každú platformu. Prvá vec, ktorú musíme urobiť, je zbaviť sa Changed Type .

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Nemáme stĺpec Dátum, pretože dátum je index. Takže sa vrátime k nášmu skriptu Python a potom len resetujeme náš index, df.reset_index . Hovoríme, že ho chceme obnoviť na obídenie stĺpca Dátum v tejto zátvorke a potom chceme urobiť inplace = true .

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

A teraz máme dátum a všetky ostatné typy údajov sú dokončené.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie

Ak to dáme do vizuálu, takto to vyzerá v troch rôznych interpolačných metódach pri spracovávaní chýbajúcich údajov v Pythone.

Spracovanie chýbajúcich údajov v Pythone pomocou metódy interpolácie




Záver

V tomto návode ste sa naučili tri metódy interpolácie pri spracovávaní chýbajúcich údajov. Diskutovali sme o metódach lineárnej, najbližšej a váženej časovej interpolácie.

Dúfam, že to považujete za užitočné a použijete to vo svojej vlastnej práci. Môžete si pozrieť celý video tutoriál nižšie, kde nájdete ďalšie podrobnosti, a pozrite si nižšie uvedené odkazy, kde nájdete ďalší súvisiaci obsah o spracovaní chýbajúcich údajov v Pythone.

Všetko najlepšie!

Gaelim


Čo je to Power Query a jazyk M: podrobný prehľad

Čo je to Power Query a jazyk M: podrobný prehľad

Tento tutoriál poskytuje prehľad o editore Power Query a jazyku M na pracovnej ploche LuckyTemplates.

Vytvorte stránkovanú správu: Pridávanie textov a obrázkov

Vytvorte stránkovanú správu: Pridávanie textov a obrázkov

Zistite, ako vytvoriť stránkovanú správu, pridať texty a obrázky a potom exportovať správu do rôznych formátov dokumentov.

Funkcia SharePoint Automate | Predstavenie

Funkcia SharePoint Automate | Predstavenie

Zistite, ako používať funkciu automatizácie SharePointu na vytváranie pracovných postupov a ako pomôcť pri mikromanažovaní používateľov, knižníc a zoznamov SharePointu.

Vyriešte výzvu na analýzu dát s akcelerátorom LuckyTemplates

Vyriešte výzvu na analýzu dát s akcelerátorom LuckyTemplates

Zdokonaľte svoje zručnosti v oblasti vývoja zostáv zapojením sa do výzvy v oblasti analýzy údajov. Accelerator vám môže pomôcť stať sa super používateľom LuckyTemplates!

Spuštění součtů v LuckyTemplates pomocí DAX

Spuštění součtů v LuckyTemplates pomocí DAX

Naučte se, jak vypočítat průběžné součty v LuckyTemplates pomocí DAX. Průběžné součty vám umožní nezabřednout do žádného jednotlivého výsledku.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Pochopte koncept proměnných v jazyce DAX v rámci LuckyTemplates a důsledky proměnných pro způsob výpočtu vašich mír.

LuckyTemplates Sloping Chart: Prehľad

LuckyTemplates Sloping Chart: Prehľad

Získajte viac informácií o vlastnom vizuáli nazývanom graf LuckyTemplates Slope, ktorý sa používa na zobrazenie nárastu/zníženia pre jednu alebo viacero metrík.

Farebné motívy LuckyTemplates pre jednotné vizualizácie

Farebné motívy LuckyTemplates pre jednotné vizualizácie

Objavte farebné motívy v LuckyTemplates. Sú nevyhnutné, aby vaše zostavy a vizualizácie vyzerali a fungovali bez problémov.

Výpočet priemeru v LuckyTemplates: Izolácia výsledkov cez týždeň alebo cez víkend pomocou DAX

Výpočet priemeru v LuckyTemplates: Izolácia výsledkov cez týždeň alebo cez víkend pomocou DAX

Výpočet priemeru v LuckyTemplates možno vykonať mnohými spôsobmi, aby ste získali presné informácie pre vaše obchodné správy.

Motiv LuckyTemplates | Standardní motiv LuckyTemplates Desktop

Motiv LuckyTemplates | Standardní motiv LuckyTemplates Desktop

Pojďme se ponořit do standardního motivu LuckyTemplates a prohlédnout si některé funkce zabudované do samotné aplikace LuckyTemplates Desktop.