Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich NaN-Werte in Pandas-DataFrames effizient und ohne Schleifen ersetzen?
Schleifenfreier NaN-Ersatz in Pandas-DataFrames
Das Ersetzen von NaN-Werten in einem Pandas-DataFrame kann eine häufige Aufgabe sein. Ein Ansatz besteht darin, NaNs iterativ durch den ersten darüber liegenden Nicht-NaN-Wert zu ersetzen. Diese Methode ist jedoch ineffizient und kann fehleranfällig sein.
Glücklicherweise bietet Pandas mit der Fillna-Methode eine effizientere und schleifenfreie Möglichkeit, dies zu erreichen. Durch Angabe der Methode als „ffill“ (Vorwärtsfüllung) gibt Pandas die letzte gültige Beobachtung an die nächste gültige Beobachtung weiter:
import pandas as pd df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]]) df.fillna(method='ffill')
Dies führt zu folgendem DataFrame:
0 1 2 0 1 2 3 1 4 2 3 2 4 2 9
Die Fillna-Methode ermöglicht auch das Rückwärtsfüllen (Füllen von unten) mit der Funktion „bfill“ (Rückwärtsfüllen). Methode:
df.fillna(method='bfill')
Standardmäßig ändert die Fillna-Methode den ursprünglichen DataFrame nicht. Um den ursprünglichen DataFrame zu ändern, geben Sie inplace=True:
df.fillna(method='ffill', inplace=True)an
Das obige ist der detaillierte Inhalt vonWie kann ich NaN-Werte in Pandas-DataFrames effizient und ohne Schleifen ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!