Heim > Artikel > Backend-Entwicklung > Wie ersetze ich leere Werte (Leerzeichen) durch NaN in einem Pandas DataFrame?
Ersetzen von Leerwerten (Leerzeichen) durch NaN in Pandas
Die Datenbereinigung ist ein entscheidender Schritt in der Datenanalyse. Eine häufige Aufgabe besteht darin, leere Werte (Leerzeichen) durch NaN zu ersetzen. Dies kann mit Pandas effizient durchgeführt werden.
Um dies zu erreichen, verwenden Sie die Funktion df.replace(). Diese Funktion ermöglicht eine auf regulären Ausdrücken basierende Such- und Ersetzungsoperation für DataFrame-Werte. So können Sie es implementieren:
<code class="python">import numpy as np import pandas as pd df = pd.DataFrame([ [-0.532681, 'foo', 0], [1.490752, 'bar', 1], [-1.387326, 'foo', 2], [0.814772, 'baz', ' '], [-0.222552, ' ', 4], [-1.176781, 'qux', ' '], ], columns='A B C'.split(), index=pd.date_range('2000-01-01','2000-01-06')) # Replace fields that contain only whitespace (or are empty) with NaN print(df.replace(r'^\s*$', np.nan, regex=True)) # Output: # A B C # 2000-01-01 -0.532681 foo 0 # 2000-01-02 1.490752 bar 1 # 2000-01-03 -1.387326 foo 2 # 2000-01-04 0.814772 baz NaN # 2000-01-05 -0.222552 NaN 4 # 2000-01-06 -1.176781 qux NaN</code>
Beachten Sie, dass dieser Code Felder ersetzt, die nur Leerzeichen enthalten oder leer sind (d. h. mit dem regulären Ausdruck r'^s*$'** übereinstimmen). Wenn Ihre gültigen Daten Leerzeichen enthalten, passen Sie die Regex entsprechend an (entfernen Sie z. B. das **$ am Ende für r'^s ').
Das obige ist der detaillierte Inhalt vonWie ersetze ich leere Werte (Leerzeichen) durch NaN in einem Pandas DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!