Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Interpolatie is een methode voor het genereren van punten tussen gegeven punten. In deze zelfstudie laat ik zien hoe je interpolatie kunt gebruiken bij het omgaan met ontbrekende gegevens in Python. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

In Python is interpolatie een techniek die meestal wordt gebruikt om ontbrekende waarden in het dataframe of de reeks toe te rekenen tijdens het voorbewerken van gegevens. Ik zal laten zien hoe u deze methode kunt gebruiken om ontbrekende gegevenspunten in uw gegevens te schatten met behulp van Python in LuckyTemplates.

Als we naar onze oorspronkelijke gegevens hieronder kijken die in de bovenste grafiek worden weergegeven, kunnen we zien dat er veel gaten of ontbrekende gegevens zijn die we niet kunnen weergeven omdat er niets is. Maar in de onderste grafiek kunnen we zien dat we een schatting hebben gemaakt om erachter te komen hoe die gegevens eruit zouden kunnen zien. De feitelijke gegevens worden in lichtblauw weergegeven, terwijl de geïnterpoleerde gegevens in donkerblauw worden weergegeven.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Er zijn een paar verschillende soorten schattingen die we gaan doen. We gaan een lineaire interpolatie doen, een dichtstbijzijnde interpolatie en vervolgens een gewogen tijdinterpolatie. Elk van deze gaat ons iets andere resultaten opleveren.

In het bovenstaande voorbeeld wordt de gewogen tijdsinterpolatie gebruikt, die er bijna hetzelfde uitziet als de lineaire interpolatie, met de uitzondering dat deze wordt gewogen op basis van de dagen. Lineair schatte de gegevens op basis van de helling tussen deze twee gegevenspunten. Dichtstbijzijnde interpolatie heeft een vlakkere schatting, zoals u hieronder kunt zien, waarbij we naar de dichtstbijzijnde waarde hebben gekeken en konden schatten wat er tussen die twee bestaat.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Dus laten we naar een Jupyter-notebook springen en dat binnenhalen.

Inhoudsopgave

Interpolatie gebruiken bij het verwerken van ontbrekende gegevens in Python

Je zou de Scripteditor kunnen gebruiken om alles uit te schrijven, maar dat is eenvoudiger. U krijgt meer feedback in uw Jupyter-notebook. Dus laten we documenteren wat we doen. Wanneer we dit kopiëren en plakken in onze Python Script Editor, zal het heel schoon en duidelijk zijn.

Laten we de bibliotheken importeren die we willen, en we gaan Panda's importeren en opslaan als een variabele PD. We gaan Numpy importeren en opslaan als de variabele NP. Pandas is een bibliotheek voor gegevensmanipulatie, terwijl Numpy ons ook in staat stelt om gegevens te manipuleren en ons wat lineaire algebra geeft.

We willen onze dataset binnenhalen en die gaan we opslaan als een variabele df . En we gaan gewoon de Pandas-variabele ( pd ) gebruiken en de functie read.csv gebruiken . Vervolgens gaan we kopiëren en plakken waar dat bestand op onze pc staat. De mijne staat in mijn werkmap, dus ik hoef alleen maar machines.csv te schrijven en dat tussen haakjes in te kapselen.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

En laten we onze dataset eens bekijken door alleen de variabele df te gebruiken. Je kunt zien dat dit gaat van 1 2022 tot de 25e. Het zijn opeenvolgende dagen tot de 15e, en dan ontbreken er vier dagen op de 19e, en dan ontbreken er drie dagen wanneer we bij de 22e komen, en twee dagen ontbreken op de 25e.

De dagen die worden overgeslagen zijn geen ontbrekende gegevens. Dat zijn gewoon geen gegevens in onze dataset. Waar we ons mee gaan bezighouden, zijn ontbrekende gegevens, die u weergegeven ziet met deze NaN- of geen-waarden.

Nu we onze dataset hebben, laten we onze verschillende soorten interpretaties gebruiken en ze opslaan als verschillende kolommen. We kunnen zien dat we object hebben , dat wordt weergegeven door een tekst, en we hebben ook een vlotter .

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Ik ga de kolom Datum isoleren door haakjesnotatie te gebruiken. Vervolgens ga ik gelijken gebruiken om dit toe te wijzen. Ik ga de pd- variabele gebruiken en dan gebruik ik alleen de functie to_datetime. En dan sluit ik die functie af met de haakjes en voeg ik de kolom Datum toe.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

We kunnen zien dat we nu de datum als het juiste gegevenstype hebben.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

We hebben hier een index, die wordt aangegeven door de nummers 1 tot 18. Als we Lineair doen, worden deze nummers gebruikt om een ​​lineaire verbinding te maken tussen de bestaande gegevenspunten. Maar we willen ook een tijdgewogen interpolatie kunnen gebruiken, die naar de tijd kijkt en ons de resultaten geeft op basis van de werkelijke dagen. We willen de kolom Datum instellen als de index, zodat we deze kunnen gebruiken.

Ik ga mijn data frame (df) variabele gebruiken, en doe set_index. We moeten een parameter met de naam inplace doorgeven om er zeker van te zijn dat deze permanent wordt doorgegeven. Dus ik gebruik inplace is gelijk aan waar, en dan druk ik op shift en enter. En daarmee kun je zien dat de numerieke index is verdwenen en dat we een Datetime-index hebben.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Nu kunnen we beginnen met het bouwen van die kolommen die we willen. Laten we een kolom bouwen waarin we het dichtstbijzijnde gegevenspunt interpoleren, waardoor deze ontbrekende waarden worden opgevuld met de dichtstbijzijnde waarde. We willen een kolom maken met de naam users_nearest , en we willen die toewijzen aan een kolom Gebruikers .

We willen een kolom maken met de naam user_nearest , en we willen die toewijzen aan een gebruikerskolom. En nu we die kolom geïsoleerd hebben, kunnen we de interpolatiefunctie gebruiken en kunnen we op shift-tab drukken om te zien welke parameters deze functie nodig heeft. Er zijn veel verschillende soorten methodes.

Je kunt zien dat de standaard lineair is, en als je wilt dat het alle verschillende methoden ziet, zit hier informatie in. Je kunt dit helemaal openen en er is hier veel informatie die je veel inzicht zal geven. Maar het is altijd beter om naar de Pandas-site te gaan en gewoon te zien wat al de verschillende soorten interpolaties zijn.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Nu gaan we de methode doorgeven die we willen, en we gaan de Nearest Interpolation-methode gebruiken. Het enige dat we hoeven te doen is dit uit te voeren en u kunt zien dat er een kolom is gemaakt. Als we naar die specifieke regel kijken, kunnen we dat zien als een ontbrekende waarde. En je kunt zien dat het is geïnterpoleerd waar het de dichtstbijzijnde waarde heeft genomen en hier heeft toegevoegd. Zoals u kunt zien, hebben we geen ontbrekende waarden meer voor die specifieke rij.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Laten we dit nu twee keer kopiëren en de naam van deze kolommen wijzigen in user_linear en user_time . We zullen ook de methoden aanpassen aan onze rubrieken. We kunnen verschuiven en invoeren, en je kunt zien dat we drie kolommen hebben gemaakt op basis van verschillende soorten interpolatiemethoden.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Vervolgens wil ik nog een specifieke kolom maken waarmee we kunnen aangeven welke leeg zijn, zoals een vlag in onze gegevens. Daarvoor gaan we Numpy gebruiken.

Dus we gaan gewoon een nieuwe kolom maken met de naam df , en dan gaan we het vlag noemen. We gaan dat toewijzen met dat gelijkteken. Vervolgens gaan we np gebruiken , wat onze Numpy-variabele is. En dan gaan we de where- functie gebruiken, wat een voorwaardelijke functie is. We stellen de voorwaarde in en dan krijgen we een voorbeeld voor waar en onwaar. We gebruiken dubbele gelijken, wat gelijk is in Python. Als het waar is, willen we zeggen Missing Data . De andere optie is Data .

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

We kunnen die vlag gebruiken in onze visual. Als we eenmaal in je notitieblok zijn, ga je naar transformeren en druk je op Python-script uitvoeren. Nu zijn er een paar verschillende stappen. We moeten dit laten werken binnen de LuckyTemplates -omgeving.

We hebben al onze codes hier en we moeten nog een paar stappen toevoegen. Ten eerste, als we te maken hebben met datum-tijd, moeten we een foutparameter toevoegen die zegt dat als we fouten hebben, je deze kunt afdwingen of proberen te wijzigen. Dus ik ga hier fouten gelijk zetten , en dan haakjes forceren . Vervolgens moeten we de datasetvariabele opnieuw toewijzen als df.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Als we op OK klikken, krijgen we nog een foutmelding en dit is wat we moeten doen om dit op te lossen. Als we onze stappen doorlopen, moeten we onze datum niet laten opmaken. We laten Python werken met de datums omdat datums uniek zijn voor elk platform. Het eerste dat we moeten doen, is Changed Type verwijderen .

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

We hebben de kolom Datum niet omdat de datum de index is. Dus gaan we terug naar ons Python-script en resetten we gewoon onze index, df.reset_index . We zeggen dat we het willen resetten naar de omleiding van de datumkolom in dat haakje, en dan willen we doen inplace = true .

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

En nu hebben we de datum en zijn al onze andere gegevenstypen compleet.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode

Als we dat in een visual plaatsen, ziet het er zo uit in drie verschillende interpolatiemethoden bij het verwerken van ontbrekende gegevens in Python.

Omgaan met ontbrekende gegevens in Python met behulp van de interpolatiemethode


Valutakoersen in LuckyTemplates: omgaan met ontbrekende gegevens
Python-scripting in LuckyTemplates-gegevensrapporten
Voorbeeldgegevenssets laden in Python

Conclusie

Je hebt in deze zelfstudie drie methoden van interpolatie geleerd bij het afhandelen van ontbrekende gegevens in Python . We hebben de lineaire, dichtstbijzijnde en gewogen tijdinterpolatiemethoden besproken.

Ik hoop dat je dit nuttig vindt en toepast in je eigen werk. Je kunt de volledige video-tutorial hieronder bekijken voor meer details en de onderstaande links bekijken voor meer gerelateerde inhoud over het omgaan met ontbrekende gegevens in Python.

Al het beste!

Gaelim


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten