„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie ersetze ich leere Werte (Leerzeichen) durch NaN in einem Pandas DataFrame?

Wie ersetze ich leere Werte (Leerzeichen) durch NaN in einem Pandas DataFrame?

Veröffentlicht am 08.11.2024
Durchsuche:668

How do I replace blank values (whitespace) with NaN in a 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 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 ').

Neuestes Tutorial Mehr>

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