Die Datenbereinigung nimmt in der Datenwissenschaft zweifellos eine Menge Zeit in Anspruch, und fehlende Daten sind eine der Herausforderungen, denen Sie häufig gegenüberstehen. pandas ist ein wertvolles Python-Datenmanipulationstool, mit dem Sie unter anderem fehlende Werte in Ihrem Datensatz korrigieren können.

Sie können fehlende Daten korrigieren, indem Sie sie entweder löschen oder mit anderen Werten füllen. In diesem Artikel erklären und untersuchen wir die verschiedenen Möglichkeiten zum Ausfüllen fehlender Daten mit Pandas.

1. Verwenden Sie die Methode fillna():

Der fillna() -Funktion durchläuft Ihr Dataset und füllt alle Nullzeilen mit einem angegebenen Wert. Es akzeptiert einige optionale Argumente – beachten Sie die folgenden:

Wert: Dies ist der Wert, den Sie in die fehlenden Zeilen einfügen möchten.

Methode: Ermöglicht das Auffüllen fehlender Werte vorwärts oder rückwärts. Es akzeptiert a 'bfill' oder 'füllen' Parameter.

An Ort und Stelle: Dies akzeptiert eine bedingte Anweisung. Wenn True, ändert es den DataFrame dauerhaft. Sonst geht es nicht.

instagram viewer

Bevor wir beginnen, stellen Sie sicher, dass Sie Pandas in Ihrem installieren Virtuelle Python-Umgebung verwenden Pip in deinem Terminal:

Pandas installieren

Als Nächstes erstellen wir im Python-Skript einen Übungsdatenrahmen und fügen Nullwerte ein (Nan) in einige Zeilen:

Pandas importieren
df = Pandas. DataFrame({'A' :[0, 3, Keine, 10, 3, Keine],
'B': [Keine, Keine, 7.13, 13.82, 7, 7],
'C': [Keine, "Pandas", Keine, "Pandas", "Python", "JavaScript"]})

Verwandt:So importieren Sie Excel-Daten in Python-Skripts mit Pandas

Sehen Sie sich nun an, wie Sie diese fehlenden Werte mit den verschiedenen verfügbaren Methoden in Pandas füllen können.

Bei dieser Methode werden fehlende Werte durch berechnete Mittelwerte ersetzt. Das Füllen fehlender Daten mit einem Mittel- oder Medianwert ist anwendbar, wenn die betroffenen Spalten Integer- oder Float-Datentypen haben.

Sie können fehlende Daten auch mit dem Moduswert füllen, der am häufigsten vorkommt. Dies gilt auch für Ganzzahlen oder Floats. Aber es ist praktischer, wenn die fraglichen Spalten Zeichenfolgen enthalten.

So fügen Sie den Mittelwert und den Median in die fehlenden Zeilen im zuvor erstellten DataFrame ein:

#Um den Mittelwert jeder Spalte in die fehlenden Zeilen einzufügen:
df.fillna (df.mean().round (1), inplace=True)
#Für Median:
df.fillna (df.median().round (1), inplace=True)
drucken (df)

Wenn Sie den Modalwert wie oben für den Mittelwert und den Median einfügen, wird nicht der gesamte DataFrame erfasst. Aber Sie können es stattdessen in eine bestimmte Spalte einfügen, sagen wir Spalte C:

df['C'].fillna (df['C'].mode()[0], inplace=True)

Abgesehen davon ist es immer noch möglich, den modalen Wert jeder Spalte gleichzeitig in die fehlenden Zeilen einzufügen mit einer for-Schleife:

für i in df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
drucken (df)

Wenn Sie beim Einfügen von Mittelwert, Median oder Modus spaltenspezifisch sein möchten:

df.fillna({"A":df['A'].mean(), 
"B": df['B'].median(),
"C": df['C'].mode()[0]},
anstelle = wahr)
drucken (df)

Füllen Sie Nullzeilen mit Werten unter Verwendung von ffill

Dazu muss die Füllmethode im Inneren als angegeben werden fillna() Funktion. Diese Methode füllt jede fehlende Zeile mit dem Wert der nächsten Zeile darüber.

Man könnte es auch Forward-Filling nennen:

df.fillna (method='ffill', inplace=True)

Füllen Sie fehlende Zeilen mit Werten mit bfill

Hier ersetzen Sie die füllen oben genannte Methode mit bfüllen. Es füllt jede fehlende Zeile im DataFrame mit dem nächsten Wert darunter.

Dies wird als Rückwärtsbefüllung bezeichnet:

df.fillna (method='bfill', inplace=True)

2. Die Methode replace()

Sie können die ersetzen Nan Werte in einer bestimmten Spalte mit Mittelwert, Median, Modus oder einem beliebigen anderen Wert.

Verwandt:Pandas-Befehle zum Bearbeiten von DataFrames

Sehen Sie, wie dies funktioniert, indem Sie die Nullzeilen in einer benannten Spalte durch ihren Mittelwert, Median oder Modus ersetzen:

Pandas importieren
importiere numpy #dies setzt voraus, dass Sie zuvor numpy installiert haben
#Ersetzen Sie die Nullwerte durch den Mittelwert:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Ersetze Spalte A durch den Median:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Verwenden Sie den modalen Wert für Spalte C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
drucken (df)

3. Fehlende Daten mit interpolate() füllen

Der interpolieren() -Funktion verwendet vorhandene Werte im DataFrame, um die fehlenden Zeilen zu schätzen.

Führen Sie den folgenden Code aus, um zu sehen, wie das funktioniert:

#Interpoliere rückwärts über die Spalte:
df.interpolate (method ='linear', limit_direction ='backward', inplace=True)
#In Vorwärtsreihenfolge über die Spalte interpolieren:
df.interpolate (method ='linear', limit_direction ='forward', inplace=True)

Gehen Sie sorgfältig mit fehlenden Zeilen um

Während wir nur in Betracht gezogen haben, fehlende Daten mit Standardwerten wie Durchschnittswerten, Modus und anderen Methoden zu füllen, gibt es andere Techniken zum Korrigieren fehlender Werte. Data Scientists zum Beispiel entfernen manchmal diese fehlenden Zeilen, je nach Fall.

Darüber hinaus ist es wichtig, kritisch über Ihre Strategie nachzudenken, bevor Sie sie anwenden. Andernfalls erhalten Sie möglicherweise unerwünschte Analyse- oder Vorhersageergebnisse. Einige anfängliche Datenvisualisierungsstrategien könnten hilfreich sein.

So zeichnen Sie Diagramme in Jupyter Notebook

Zeigen Sie Ihre Daten mit Jupyter Notebook-Diagrammen an.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Programmierung
  • Python
  • Programmierung
  • Datenbank
Über den Autor
Idowu Omisola (125 veröffentlichte Artikel)

Idowu hat eine Leidenschaft für Smart Tech und Produktivität. In seiner Freizeit spielt er mit Programmieren herum und wechselt bei Langeweile zum Schachbrett, aber er liebt es auch, ab und zu aus der Routine auszubrechen. Seine Leidenschaft, Menschen den Weg durch moderne Technologie zu zeigen, motiviert ihn, mehr zu schreiben.

Mehr von Idowu Omisola

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden