Pandaer udfylder NaN-værdier
Hvis en kolonne i din dataramme har NaN- eller Ingen-værdier, kan du bruge funktionerne 'fillna()' eller 'erstat()' til at udfylde dem med nul (0).
fylde()
NA/NaN-værdierne udfyldes med den angivne tilgang ved hjælp af 'fillna()'-funktionen. Det kan bruges ved at overveje følgende syntaks:
Hvis du vil udfylde NaN-værdierne for en enkelt kolonne, er syntaksen som følger:
Når du skal udfylde NaN-værdierne for hele DataFrame, er syntaksen som angivet:
Erstatte()
For at erstatte en enkelt kolonne med NaN-værdier er den angivne syntaks som følger:
Hvorimod, for at erstatte hele DataFrames NaN-værdier, skal vi bruge følgende nævnte syntaks:
I dette skrift vil vi nu udforske og lære den praktiske implementering af begge disse metoder til at udfylde NaN-værdierne i vores Pandas DataFrame.
Eksempel 1: Udfyld NaN-værdier ved hjælp af Pandas 'Fillna()'-metoden
Denne illustration demonstrerer anvendelsen af Pandas 'DataFrame.fillna()'-funktion til at udfylde NaN-værdierne i den givne DataFrame med 0. Du kan enten udfylde de manglende værdier i en enkelt kolonne, eller du kan udfylde dem for hele DataFrame. Her vil vi se begge disse teknikker.
For at sætte disse strategier ud i livet, er vi nødt til at få en passende platform til udførelse af programmet. Så vi besluttede at bruge 'Spyder'-værktøjet. Vi startede vores Python-kode ved at importere 'pandas'-værktøjssættet til programmet, fordi vi skal bruge Pandas-funktionen til at konstruere DataFrame samt til at udfylde de manglende værdier i den DataFrame. 'pd' bruges som alias for 'pandaer' gennem hele programmet.
Nu har vi adgang til Pandas funktioner. Vi bruger først dens 'pd.DataFrame()'-funktion til at generere vores DataFrame. Vi påberåbte os denne metode og initialiserede den med tre kolonner. Titlerne på disse kolonner er 'M1', 'M2' og 'M3'. Værdierne i 'M1'-kolonnen er '1', 'Ingen', '5', '9' og '3'. Indtastningerne i 'M2' er 'Ingen', '3', '8', '4' og '6'. Mens 'M3' gemmer dataene som '1', '2', '3', '5' og 'Ingen'. Vi kræver et DataFrame-objekt, hvori vi kan gemme denne DataFrame, når 'pd.DataFrame()'-metoden kaldes. Vi oprettede et 'manglende' DataFrame-objekt og tildelte det ved det resultat, vi fik fra funktionen 'pd.DataFrame()'. Derefter brugte vi Pythons 'print()'-metode til at vise DataFrame på Python-konsollen.
Når vi kører denne del af kode, kan en DataFrame med tre kolonner ses på terminalen. Her kan vi observere, at alle de tre kolonner indeholder nulværdierne i dem.
Vi oprettede en DataFrame med nogle null-værdier for at anvende Pandas 'fillna()'-funktionen til at udfylde de manglende værdier med 0. Lad os lære, hvordan vi kan gøre det.
Efter at have vist DataFrame, påkaldte vi Pandas 'fillna()'-funktionen. Her lærer vi at udfylde de manglende værdier i en enkelt kolonne. Syntaksen for dette er allerede nævnt i starten af selvstudiet. Vi angav navnet på DataFrame og specificerede den særlige kolonnetitel med funktionen '.fillna()'. Mellem parenteserne af denne metode har vi angivet den værdi, der vil blive sat i nul-pladserne. DataFrame-navnet 'mangler', og kolonnen, som vi valgte her, er 'M2'. Værdien mellem klammeparenteserne i 'fillna()' er '0'. Til sidst kaldte vi 'print()'-funktionen for at se den opdaterede DataFrame.
Her kan du se, at 'M2'-kolonnen i DataFrame ikke indeholder nogen manglende værdier nu, fordi NaN-værdien er fyldt med 0.
For at udfylde NaN-værdierne for en hel DataFrame med den samme metode, kaldte vi 'fillna()'. Dette er ret simpelt. Vi gav DataFrame-navnet funktionen 'fillna()' og tildelte funktionsværdien '0' mellem parenteserne. Endelig viste 'print()'-funktionen os den udfyldte DataFrame.
Dette giver os en DataFrame uden NaN-værdier, da alle værdierne er genfyldt med 0 nu.
Eksempel 2: Udfyld NaN-værdier ved hjælp af Pandas 'Replace()'-metoden
Denne del af artiklen demonstrerer en anden metode til at udfylde NaN-værdierne i en DataFrame. Vi vil bruge funktionen 'erstat()' i Pandas til at udfylde værdierne i en enkelt kolonne og i en komplet DataFrame.
Vi begynder at skrive koden i 'Spyder'-værktøjet. Først importerede vi de nødvendige biblioteker. Her indlæste vi Pandas-biblioteket for at gøre det muligt for Python-programmet at bruge Pandas-metoderne. Det andet bibliotek, som vi indlæste, er NumPy og alias det til 'np'. NumPy håndterer de manglende data med 'replace()'-metoden.
Derefter genererede vi en DataFrame med tre kolonner - 'skrue', 'søm' og 'bor'. Værdierne i hver kolonne er angivet hhv. 'Skrue'-kolonnen har '112', '234', 'Ingen' og '650' værdier. 'Søm'-kolonnen har '123', '145', 'Ingen' og '711'. Til sidst har 'bor'-kolonnen '312', 'Ingen', '500' og 'Ingen' værdier. DataFrame gemmes i 'værktøj' DataFrame-objektet og vises ved hjælp af 'print()'-metoden.
En DataFrame med fire NaN-værdier i posten kan ses i følgende outputbillede:
Nu bruger vi Pandas 'replace()'-metoden til at udfylde null-værdierne i en enkelt kolonne i DataFrame. Til opgaven påkaldte vi funktionen 'erstat()'. Vi leverede DataFrame-navnet 'værktøj' og kolonnen 'skrue' med '.replace()'-metoden. Mellem dens klammer sætter vi værdien '0' for 'np.nan'-indtastningerne i DataFrame. Metoden 'print()' bruges til at vise outputtet.
Den resulterende DataFrame viser os den første kolonne med NaN-poster, der erstattes med 0 i 'skrue'-kolonnen.
Nu vil vi lære at udfylde værdierne i hele DataFrame. Vi kaldte 'replace()'-metoden med navnet på DataFrame og gav den værdi, som vi ønsker at erstatte med np.nan-indgange. Til sidst udskrev vi den opdaterede DataFrame med funktionen 'print()'.
Dette giver os den resulterende DataFrame uden manglende registreringer.
Konklusion
Håndtering af de manglende indtastninger i en DataFrame er et fundamentalt og er et nødvendigt krav for at reducere kompleksiteten og håndtere data trodsigt i dataanalyseprocessen. Pandas giver os et par muligheder for at klare dette problem. Vi bragte to praktiske strategier ind i denne guide. Vi praktiserer begge teknikker ved hjælp af 'Spyder'-værktøjet til at udføre eksempelkoderne for at gøre tingene lidt forståelige og nemmere for dig. At få kendskab til disse funktioner vil skærpe dine Pandas færdigheder.