Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich NaN-Werte in einem Pandas-DataFrame effizient ersetzen?

Wie kann ich NaN-Werte in einem Pandas-DataFrame effizient ersetzen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-30 20:38:13137Durchsuche

How Can I Efficiently Replace NaN Values in a Pandas DataFrame?

Effizientes Ersetzen von NaNs in einem Pandas-DataFrame

Bei der Datenanalyse können Nullwerte oder NaNs eine Herausforderung darstellen. Betrachten wir zum Beispiel einen Pandas-DataFrame mit NaNs:

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])

Um diese NaNs effektiv zu handhaben, suchen wir nach einer eleganten Lösung, um sie durch logische Werte zu ersetzen.

Forward-Filling-Ansatz

Eine effiziente und schleifenfreie Methode ist die Verwendung der fillna-Methode mit dem ffill-Parameter. Dieser Vorgang gibt den zuletzt beobachteten Wert weiter und ersetzt alle nachfolgenden NaNs. Für den gegebenen DataFrame ergibt sich Folgendes:

df.fillna(method='ffill')
   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9

Rückwärtsfüllungsansatz

Alternativ, wenn NaNs durch den nächstgelegenen Wert in derselben Spalte ersetzt werden Ist eine Rückwärtsrichtung gewünscht, kann der Parameter bfill verwendet werden. Diese Methode gibt den ersten beobachteten Wert rückwärts weiter und füllt die NaNs aus.

In-Place-Änderung

Standardmäßig ändert die Fillna-Methode den ursprünglichen DataFrame nicht. Um die Änderungen dauerhaft anzuwenden, verwenden Sie inplace=True.

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

Dieser Vorgang aktualisiert df direkt und ersetzt alle NaNs gemäß der angegebenen Methode.

Fazit

Durch die Nutzung der Flexibilität der Fillna-Methode können wir NaNs in Pandas-DataFrames effizient durch Vorwärts- und Rückwärtsfülltechniken ersetzen und so Sauberkeit und Vollständigkeit gewährleisten Daten zur Analyse.

Das obige ist der detaillierte Inhalt vonWie kann ich NaN-Werte in einem Pandas-DataFrame effizient ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn