Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich NaN-Werte in Pandas-DataFrames effizient und ohne Schleifen ersetzen?

Wie kann ich NaN-Werte in Pandas-DataFrames effizient und ohne Schleifen ersetzen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-01 17:54:09190Durchsuche

How Can I Efficiently Replace NaN Values in Pandas DataFrames Without Loops?

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!

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