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

Patricia Arquette
Freigeben: 2024-10-30 12:57:26
Original
395 Leute haben es durchsucht

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 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>
Nach dem Login kopieren

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!

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