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 effizient mit Pandas erfolgen.
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:
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
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 den regulären Ausdruck entsprechend an (entfernen Sie z. B. **$ am Ende für r'^\s ').
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3