Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Interpolointi on menetelmä pisteiden muodostamiseksi tiettyjen pisteiden välillä. Tässä opetusohjelmassa aion näyttää, kuinka voit käyttää interpolointia puuttuvien tietojen käsittelemiseen Pythonissa. Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.

Pythonissa interpolointi on tekniikka, jota käytetään useimmiten puuttuvien arvojen laskemiseen tietokehyksestä tai sarjasta datan esikäsittelyn aikana. Näytän, kuinka voit käyttää tätä menetelmää datan puuttuvien tietopisteiden arvioimiseen LuckyTemplatesin avulla.

Jos tarkastelemme alla olevia alkuperäisiä tietojamme, jotka on esitetty ylimmässä kaaviossa, voimme nähdä, että siellä on paljon reikiä tai puuttuvia tietoja, joita emme voi piirtää, koska siellä ei ole mitään. Mutta alimmassa kaaviossa voimme nähdä, että olemme tehneet jonkin verran arvioita selvittääksemme, miltä tiedot voisivat näyttää. Todellinen data on esitetty vaaleansinisellä, kun taas interpoloitu data on tummansininen.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Aiomme tehdä pari erilaista arviota. Aiomme tehdä lineaarisen interpolaation, lähimmän interpolaation ja sitten painotetun aikainterpoloinnin. Jokainen niistä antaa meille hieman erilaisia ​​​​tuloksia.

Yllä olevassa esimerkissä käytetään painotettua aikainterpolaatiota, joka näyttää melkein samalta kuin lineaarinen interpolointi, paitsi että tämä painotetaan päivien perusteella. Lineaarinen arvioi tiedot näiden kahden datapisteen välisen kaltevuuden perusteella. Lähimmästä interpolaatiosta on litteämpi arvio, kuten näet alla, jossa tarkastelimme lähintä arvoa ja pystyimme arvioimaan, mitä näiden kahden välillä on.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Joten hypätään Jupyter-muistikirjan luo ja tuodaan se sisään.

Sisällysluettelo

Interpoloinnin käyttäminen puuttuvien tietojen käsittelyssä Pythonissa

Voit käyttää Script Editoria kaiken käsikirjoittamiseen, mutta se on helpompaa. Saat enemmän palautetta Jupyter-muistikirjaasi. Joten dokumentoidaan, mitä teemme. Kun kopioimme ja liitämme tämän Python Script Editoriimme, se on erittäin puhdas ja selkeä.

Tuodaan haluamamme kirjastot ja tuomme Pandat ja tallennamme ne muuttuvana PD:nä. Tuomme Numpyn ja tallennamme sen muuttujaksi NP. Pandas on tiedonkäsittelykirjasto, kun taas Numpy mahdollistaa myös tietojen käsittelyn ja antaa meille lineaarisen algebran.

Haluamme tuoda tietojoukkomme, ja aiomme tallentaa sen muuttujana df . Ja käytämme vain Pandas-muuttujaa ( pd ) ja read.csv - funktiota. Sitten aiomme kopioida ja liittää sen tiedoston, jossa se on tietokoneellamme. Omani on työhakemistossani, joten minun tarvitsee vain kirjoittaa machines.csv ja kapseloida se suluissa.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Ja katsotaanpa tietojoukkoamme vain käyttämällä muuttujaa df. Näet tämän alkavan 1. päivästä 2022 aina 25. päivään. Se on peräkkäisiä päiviä aina 15. päivään asti, ja sitten puuttuu neljä päivää 19. ja sitten puuttuu kolme päivää kun päästään 22. päivään, ja kaksi päivää puuttuu 25. päivänä.

Ohitetuista päivistä ei puutu tietoja. Se ei vain ole tietoaineistomme dataa. Aiomme käsitellä puuttuvia tietoja, jotka näkyvät näillä NaN- arvoilla tai ilman arvoja.

Nyt kun meillä on tietojoukkomme, käytetään erilaisia ​​tulkintatyyppejämme ja tallennetaan ne eri sarakkeiksi. Voimme nähdä, että meillä on objekti , jota edustaa teksti, ja meillä on myös float .

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Aion eristää Päivämäärä- sarakkeen käyttämällä hakasulkeiden merkintää. Sitten aion käyttää yhtäläisyyksiä tämän määrittämiseen. Aion käyttää pd- muuttujaa ja sitten vain funktiota to_datetime. Ja sitten suljen toiminnon suluilla ja lisään Päivämäärä-sarakkeeseen.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Voimme nähdä, että nyt meillä on oikea tietotyyppi.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Meillä on tässä indeksi, joka on merkitty numeroilla 1-18. Kun teemme Lineaarista, se käyttää näitä numeroita luodakseen lineaarisen yhteyden olemassa olevien datapisteiden välille. Mutta haluamme myös käyttää aikapainotettua interpolointia, joka tarkastelee aikaa ja antaa meille tulokset todellisten päivien perusteella. Haluamme asettaa Päivämäärä-sarakkeen indeksiksi, jotta voimme hyödyntää sitä.

Aion käyttää datakehys (df) -muuttujaani ja tehdä set_index. Meidän on syötettävä sisään parametri nimeltä inplace varmistaaksemme, että se on välitetty pysyvästi. Joten aion käyttää inplace-arvoa yhtä kuin tosi, ja sitten painan shift-näppäintä ja enteriä. Ja sen avulla voit nähdä, että numeerinen indeksi katosi, ja meillä on Datetime-indeksi.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Nyt voimme alkaa rakentaa haluamiamme pylväitä. Rakennetaan sarake, jossa interpoloidaan lähin datapiste, joka täyttää nämä puuttuvat arvot lähimmällä arvolla. Haluamme luoda sarakkeen, jonka nimi on users_nearest , ja haluamme liittää sen Käyttäjät- sarakkeeseen.

Haluamme luoda sarakkeen nimeltä user_nearest , ja haluamme määrittää sen käyttäjäsarakkeelle. Ja nyt kun tämä sarake on eristetty, voimme käyttää funktiota ja painaa shift-tab nähdäksemme, mitä parametreja tämä toiminto ottaa. Menetelmiä on monia erilaisia.

Voit nähdä, että oletusarvo on lineaarinen, ja jos haluat sen näkevän kaikki eri menetelmät, tässä on tietoa. Voit avata tämän kokonaan ylös, ja täällä on paljon tietoa, joka antaa sinulle paljon tietoa. Mutta on aina parempi mennä alas Pandas-sivustolle ja katsoa, ​​mitä kaikki erilaiset interpolaatiotyypit ovat.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Nyt hyväksymme haluamamme menetelmän ja käytämme lähintä interpolointimenetelmää. Meidän tarvitsee vain suorittaa tämä, ja voit nähdä, että sarake on luotu. Jos tarkastelemme kyseistä riviä, voimme nähdä sen puuttuvana arvona. Ja voit nähdä, että se on interpoloitu missä se on otettu lähin arvo ja lisätty tähän. Kuten näet, meillä ei ole enää puuttuvia arvoja kyseiseltä riviltä.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Kopioidaan nyt tämä kahdesti ja muutetaan näiden sarakkeiden nimiksi käyttäjä_lineaarinen ja käyttäjän_aika . Muutamme myös menetelmiä otsikoidemme mukaisiksi. Voimme siirtää ja syöttää, ja näet, että olemme luoneet kolme saraketta erityyppisten interpolointimenetelmien perusteella.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Seuraavaksi haluan luoda yhden erityisen sarakkeen, jonka avulla voimme osoittaa, mitkä näistä ovat tyhjiä, kuten lipun tiedoissamme. Käytämme siihen Numpya.

Joten aiomme vain luoda uuden sarakkeen nimeltä df ja sitten kutsumme sitä lipuksi. Annamme sen samalla yhtäläisyysmerkillä. Sitten käytämme np , joka on Numpy-muuttujamme. Ja sitten aiomme käyttää where - funktiota, joka on ehdollinen funktio. Asetamme ehdon ja sitten saamme esimerkin tosi ja epätosi. Käytämme kaksoisarvoa, joka on yhtä suuri Pythonissa. Kun se on totta, haluamme sanoa Puuttuvat tiedot . Toinen vaihtoehto on Data .

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Voimme käyttää tuota lippua visuaalisuudessamme. Kun olemme muistikirjassasi, siirry muuttamaan ja paina Suorita Python-skripti. Nyt on pari eri vaihetta. Meidän on saatava tämä toimimaan sisälläympäristöön.

Meillä on kaikki koodimme täällä, ja meidän on lisättävä muutama vaihe. Ensimmäinen, kun käsittelemme päivämäärä-aikaa, meidän on lisättävä virheparametri, joka sanoo, että jos meillä on virheitä, voit pakottaa tai yrittää muuttaa sitä. Joten laitan tähän virheet yhtäläiset ja sitten suluissa pakko . Seuraavaksi meidän on määritettävä tietojoukon muuttuja uudelleen nimellä df.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Kun napsautamme OKAY, saamme uuden virheen, ja tämä on mitä meidän on tehtävä korjataksemme tämä. Jos menemme yli vaiheemme, päivämääräämme ei tarvitse muotoilla. Annamme Pythonin käsitellä päivämääriä, koska päivämäärät ovat yksilöllisiä jokaiselle alustalle. Ensimmäinen asia, joka meidän on tehtävä, on päästä eroon muuttuneesta tyypistä .

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Meillä ei ole Päivämäärä-saraketta, koska päivämäärä on indeksi. Joten palaamme Python-skriptiimme ja nollaamme sitten hakemistomme, df.reset_index . Sanomme, että haluamme nollata sen päivämäärä-sarakkeen ohitukseen kyseisessä sulussa, ja sitten haluamme tehdä inplace = true .

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Ja nyt meillä on päivämäärä ja kaikki muut tietotyypit ovat valmiit.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä

Jos laitamme sen visualisointiin, tältä se näyttää kolmessa eri interpolointimenetelmässä puuttuvien tietojen käsittelyssä Pythonissa.

Puuttuvien tietojen käsittely Pythonissa interpolointimenetelmällä




Johtopäätös

Olet oppinut tässä opetusohjelmassa kolme interpolointimenetelmää puuttuvien tietojen käsittelyssä. Olemme keskustelleet lineaarisesta, lähimmästä ja painotetusta aikainterpolaatiomenetelmistä.

Toivon, että pidät tästä hyödyllisenä ja käytät sitä omassa työssäsi. Voit katsoa alla olevan täyden video-opetusohjelman saadaksesi lisätietoja ja katsoa alla olevista linkeistä lisää liittyvää sisältöä puuttuvien tietojen käsittelyyn Pythonissa.

Kaikki parhaat!

Gaelim


Päivämäärätaulukon luominen LuckyTemplatesissa

Päivämäärätaulukon luominen LuckyTemplatesissa

Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Tässä LuckyTemplates Showcase -esittelyssä käymme läpi raportteja, jotka näyttävät ammattitaitoisen palveluanalytiikan yritykseltä, jolla on useita sopimuksia ja asiakkaiden sitoumuksia.

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.

Yleiset SQL-funktiot: Yleiskatsaus

Yleiset SQL-funktiot: Yleiskatsaus

Tutustu joihinkin yleisiin SQL-toimintoihin, joita voimme käyttää, kuten merkkijono, päivämäärä ja joitain lisätoimintoja tietojen käsittelyyn tai käsittelyyn.

LuckyTemplates-mallin luominen: opas ja vinkkejä

LuckyTemplates-mallin luominen: opas ja vinkkejä

Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.

LuckyTemplates-sijoitus ja mukautettu ryhmittely

LuckyTemplates-sijoitus ja mukautettu ryhmittely

Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.