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


Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.