Pandas: so entfernen sie sonderzeichen aus der spalte


Sie können die folgende grundlegende Syntax verwenden, um Sonderzeichen aus einer Spalte in einem Pandas-DataFrame zu entfernen:

 df[' my_column '] = df[' my_column ']. str . replace (' \W ', '', regex= True )

In diesem speziellen Beispiel werden alle Zeichen aus my_column entfernt, die weder Buchstaben noch Zahlen sind.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Sonderzeichen aus der Spalte in Pandas entfernen

Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                   ' points ': [12, 15, 22, 29, 24]})

#view DataFrame
print (df)

      team points
0 Mavs$ 12
1 Nets 15
2 Kings!! 22
3 Spurs% 29
4 &Heat& 24

Nehmen wir an, wir möchten alle Sonderzeichen aus den Teamspaltenwerten entfernen.

Wir können dazu die folgende Syntax verwenden:

 #remove special characters from team column
df[' team '] = df[' team ']. str . replace (' \W ', '', regex= True )

#view updated DataFrame
print (df)

    team points
0 Mavs 12
1 Nets 15
2 Kings 22
3 Spurs 29
4 Heat 24

Beachten Sie, dass alle Sonderzeichen aus den Teamspaltenwerten entfernt wurden.

Hinweis : Der reguläre Ausdruck \W wird verwendet, um nach allen Nicht-Wortzeichen zu suchen, also nach Zeichen, die weder alphabetisch noch numerisch sind.

In diesem Beispiel haben wir jedes Nicht-Wort-Zeichen durch einen leeren Wert ersetzt, was dem Entfernen von Nicht-Wort-Zeichen entspricht.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:

So ersetzen Sie NaN-Werte in Pandas durch Nullen
So ersetzen Sie leere Zeichenfolgen in Pandas durch NaN
So ersetzen Sie Werte in einer Spalte basierend auf der Bedingung in Pandas

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert