Pandas - Reinigung leerer Zellen


Leere Zellen

Leere Zellen können bei der Datenanalyse möglicherweise zu einem falschen Ergebnis führen.


Zeilen entfernen

Eine Möglichkeit, mit leeren Zellen umzugehen, besteht darin, Zeilen zu entfernen, die leere Zellen enthalten.

Dies ist normalerweise in Ordnung, da Datensätze sehr groß sein können und das Entfernen einiger Zeilen keine großen Auswirkungen auf das Ergebnis hat.

Beispiel

Geben Sie einen neuen Datenrahmen ohne leere Zellen zurück:

import pandas as pd

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

new_df = df.dropna()

print(new_df.to_string())

In unseren Reinigungsbeispielen verwenden wir eine CSV-Datei mit dem Namen „dirtydata.csv“.

Laden Sie dirtydata.csv herunter . oder Öffnen Sie dirtydata.csv

Hinweis: Standardmäßig gibt die dropna()Methode einen neuen DataFrame zurück und ändert das Original nicht.

Wenn Sie den ursprünglichen DataFrame ändern möchten, verwenden Sie das inplace = TrueArgument:

Beispiel

Alle Zeilen mit NULL-Werten entfernen:

import pandas as pd

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

df.dropna(inplace = True)

print(df.to_string())

Hinweis: Jetzt dropna(inplace = True)wird KEIN neuer DataFrame zurückgegeben, aber es werden alle Zeilen mit NULL-Werten aus dem ursprünglichen DataFrame entfernt.


Leere Werte ersetzen

Eine andere Möglichkeit, mit leeren Zellen umzugehen, besteht darin, stattdessen einen neuen Wert einzufügen.

Auf diese Weise müssen Sie nicht ganze Zeilen löschen, nur weil einige Zellen leer sind.

Die fillna()Methode ermöglicht es uns, leere Zellen durch einen Wert zu ersetzen:

Beispiel

Ersetzen Sie NULL-Werte durch die Zahl 130:

import pandas as pd

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

df.fillna(130, inplace = True)

Nur für bestimmte Spalten ersetzen

Das obige Beispiel ersetzt alle leeren Zellen im gesamten Datenrahmen.

Um nur leere Werte für eine Spalte zu ersetzen, geben Sie den Spaltennamen für den DataFrame an:

Beispiel

Ersetzen Sie NULL-Werte in den Spalten "Kalorien" durch die Zahl 130:

import pandas as pd

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

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

w3schools CERTIFIED . 2021

Zertifiziert werden!

Absolvieren Sie die Pandas-Module, machen Sie die Übungen, machen Sie die Prüfung und Sie werden w3schools-zertifiziert!

$10 REGISTRIEREN

Ersetzen mit Mittelwert, Median oder Modus

Eine gängige Methode zum Ersetzen leerer Zellen besteht darin, den Mittel-, Median- oder Moduswert der Spalte zu berechnen.

Pandas verwendet die Methoden mean() median()und mode(), um die jeweiligen Werte für eine bestimmte Spalte zu berechnen:

Beispiel

Berechnen Sie den MITTELWERT und ersetzen Sie alle leeren Werte damit:

import pandas as pd

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

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

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

Mittelwert = der Durchschnittswert (die Summe aller Werte dividiert durch die Anzahl der Werte).

Beispiel

Berechnen Sie den MEDIAN und ersetzen Sie alle leeren Werte damit:

import pandas as pd

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

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

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

Median = der Wert in der Mitte, nachdem Sie alle Werte aufsteigend sortiert haben.

Beispiel

Berechnen Sie den MODE und ersetzen Sie alle leeren Werte damit:

import pandas as pd

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

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

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

Modus = der Wert, der am häufigsten vorkommt.