Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich NaNs in einem Pandas-DataFrame effizient und ohne Schleifen durch Werte von oben ersetzen?

Wie kann ich NaNs in einem Pandas-DataFrame effizient und ohne Schleifen durch Werte von oben ersetzen?

Barbara Streisand
Freigeben: 2024-12-08 16:56:09
Original
675 Leute haben es durchsucht

How Can I Efficiently Replace NaNs in a Pandas DataFrame with Values from Above Without Loops?

Schleifenfreier NaN-Ersatz in Pandas-DataFrames

Bestimmte Situationen erfordern die Manipulation von DataFrame-Werten, die NaNs enthalten. Um diesen Prozess zu optimieren, betrachten Sie das Szenario: ein DataFrame mit NaNs, die durch Nicht-NaN-Werte aus derselben Spalte darüber ersetzt werden müssen.

Eine effiziente Lösung liegt in der Fillna-Methode von Pandas. Durch Angabe des Methodenparameters als „ffill“ (Vorwärtsfüllung) werden NaNs durch die nächstgelegene gültige Beobachtung in der entsprechenden Spalte ersetzt:

import pandas as pd

df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
df.fillna(method='ffill')
Nach dem Login kopieren

Diese Methode funktioniert durch „Weitergabe der letzten gültigen Beobachtung an die nächste“. gültig." Dies ist besonders nützlich, wenn die Integrität zeitlicher oder zyklischer Daten gewahrt bleibt.

Um den gegenteiligen Effekt zu erzielen, kann die „bfill“-Methode (Backfill) eingesetzt werden. Für eine Inplace-Änderung des DataFrame verwenden Sie das Argument inplace=True:

df.fillna(method='ffill', inplace=True)
Nach dem Login kopieren

Denken Sie daran, dass die erste Zeile oft als Basislinie ohne NaNs dient. Durch die Verwendung dieses Ansatzes wird der NaN-Ersatzprozess sowohl effizient als auch schleifenfrei.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage