Pandas - Maak leë selle skoon


Leë selle

Leë selle kan moontlik vir jou 'n verkeerde resultaat gee wanneer jy data ontleed.


Verwyder rye

Een manier om leë selle te hanteer, is om rye wat leë selle bevat, te verwyder.

Dit is gewoonlik in orde, aangesien datastelle baie groot kan wees, en die verwydering van 'n paar rye sal nie 'n groot impak op die resultaat hê nie.

Voorbeeld

Stuur 'n nuwe dataraam sonder leë selle:

import pandas as pd

df = pd.read_csv('data.csv')

new_df = df.dropna()

print(new_df.to_string())

In ons skoonmaakvoorbeelde sal ons 'n CSV-lêer genaamd 'dirtydata.csv' gebruik.

Laai dirtydata.csv af . of Maak dirtydata.csv oop

Let wel: By verstek gee die dropna()metode 'n nuwe DataFrame terug, en sal nie die oorspronklike verander nie.

As jy die oorspronklike DataFrame wil verander, gebruik die inplace = Trueargument:

Voorbeeld

Verwyder alle rye met NULL-waardes:

import pandas as pd

df = pd.read_csv('data.csv')

df.dropna(inplace = True)

print(df.to_string())

Let wel: Nou dropna(inplace = True)sal dit NIE 'n nuwe DataFrame terugstuur nie, maar dit sal alle rye wat NULL-waardes bevat van die oorspronklike DataFrame verwyder.


Vervang leë waardes

Nog 'n manier om leë selle te hanteer, is om eerder 'n nuwe waarde in te voeg.

Op hierdie manier hoef jy nie hele rye uit te vee net as gevolg van sommige leë selle nie.

Die fillna()metode stel ons in staat om leë selle te vervang met 'n waarde:

Voorbeeld

Vervang NULL-waardes met die getal 130:

import pandas as pd

df = pd.read_csv('data.csv')

df.fillna(130, inplace = True)

Vervang slegs vir gespesifiseerde kolomme

Die voorbeeld hierbo vervang alle leë selle in die hele dataraam.

Om slegs leë waardes vir een kolom te vervang, spesifiseer die kolomnaam vir die DataFrame:

Voorbeeld

Vervang NULL-waardes in die "Kalorieë"-kolomme met die nommer 130:

import pandas as pd

df = pd.read_csv('data.csv')

df["Calories"].fillna(130, inplace = True)

w3schools CERTIFIED . 2021

Word gesertifiseer!

Voltooi die Pandas-modules, doen die oefeninge, neem die eksamen, en jy sal w3schools-gesertifiseer word!

R10 INSKRYF

Vervang deur gemiddelde, mediaan of modus te gebruik

'n Algemene manier om leë selle te vervang, is om die gemiddelde, mediaan of moduswaarde van die kolom te bereken.

Pandas gebruik die mean() median()en mode()metodes om die onderskeie waardes vir 'n gespesifiseerde kolom te bereken:

Voorbeeld

Bereken die GEMIDDELDE en vervang enige leë waardes daarmee:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mean()

df["Calories"].fillna(x, inplace = True)

Gemiddeld = die gemiddelde waarde (die som van alle waardes gedeel deur die aantal waardes).

Voorbeeld

Bereken die MEDIAN, en vervang enige leë waardes daarmee:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].median()

df["Calories"].fillna(x, inplace = True)

Mediaan = die waarde in die middel, nadat jy alle waardes stygend gesorteer het.

Voorbeeld

Bereken die MODE, en vervang enige leë waardes daarmee:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mode()[0]

df["Calories"].fillna(x, inplace = True)

Modus = die waarde wat die meeste verskyn.