Č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.
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.
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.
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.
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 .
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.
Vidíme, že teraz máme dátum ako správny typ údajov.
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.
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í.
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.
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.
Ď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 .
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.
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 .
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 .
A teraz máme dátum a všetky ostatné typy údajov sú dokončené.
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.
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
Tento tutoriál poskytuje prehľad o editore Power Query a jazyku M na pracovnej ploche LuckyTemplates.
Zistite, ako vytvoriť stránkovanú správu, pridať texty a obrázky a potom exportovať správu do rôznych formátov dokumentov.
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.
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!
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.
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.
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.
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 možno vykonať mnohými spôsobmi, aby ste získali presné informácie pre vaše obchodné správy.
Pojďme se ponořit do standardního motivu LuckyTemplates a prohlédnout si některé funkce zabudované do samotné aplikace LuckyTemplates Desktop.