Pandas Series.str.strip() Funktion
Series.str.strip()Es ist eine Funktion in Pandas, mit der Whitespace-Zeichen an beiden Enden von Zeichenketten entfernt werden.
Bei der Datenverarbeitung können wir Textdaten aus Benutzereingaben bereinigen oder aus Dateien lesen, die an beiden Enden zusätzliche Leerzeichen, Tabs oder Zeilenumbrüche enthalten können.strip()Die Funktion kann Whitespace-Zeichen an beiden Enden von Zeichenketten entfernen, wodurch die Daten sauberer und besser organisiert werden.
Wortdefinition:stripEs bedeutet "abstreifen, entfernen", und hier bezeichnet es das Entfernen von Whitespace-Zeichen an beiden Enden von Zeichenketten.
Grundlegende Syntax und Parameter
str.strip()Es ist die String-Accessor-Methode von Series, daher müssen Sie zuerst eine Series mit Zeichenketten haben und dann die.strAccessor verwenden, um sie aufzurufen.
Syntaxformat
Series.str.strip(to_strip=None)
Parameterbeschreibung
| Parameter | Type | Erforderlich? | Beschreibung | Standardwert |
|---|---|---|---|---|
| to_strip | str | Optional | Geben Sie die Menge der zu entfernenden Zeichen an. Wenn nicht angegeben, werden standardmäßig Whitespace-Zeichen (einschließlich Leerzeichen, Tabs, Zeilenumbrüche usw.) entfernt. | None (Whitespace-Zeichen) |
Funktionsbeschreibung
- RückgabewertGibt eine neue Series zurück, bei der Whitespace-Zeichen an beiden Enden entfernt wurden.
- AuswirkungEntfernt Whitespace-Zeichen an beiden Enden jedes Zeichenkettenelements, während Whitespace-Zeichen in der Mitte unverändert bleiben.
- HinweisEntfernt nur Zeichen an beiden Enden der Zeichenkette; Zeichen in der Mitte werden nicht beeinflusst.
Beispiele
Anhand einer Reihe von Beispielen von einfach bis komplex wollen wirstr.strip()seine Verwendung gründlich beherrschen.
Beispiel 1: Grundlegende Verwendung - Entfernen von führenden und nachfolgenden Leerzeichen
Beispiel
# Erstelle eine Series, die Leerzeichen enthält
s = pd.Series([' hello ', 'tworldt', 'nexamplen', ' python '])
# Verwende str.strip(), um Leerzeichen an beiden Enden zu entfernen
result = s.str.strip()
print("Originalreihe:")
print(repr(s)) # Verwende repr(), um Rohzeichen anzuzeigen (einschließlich unsichtbarer Zeichen)
print(Ergebnis nach Entfernen von Leerzeichen aus n:)
print(result)
Ausgabeergebnis:
原始 Series: 0 ' hello ' 1 'tworldt' 2 'nexamplen' 3 ' python ' dtype: object 去除空白后的结果: 0 hello 1 world 2 example 3 python
Code-Erklärung:
pd.Series([' hello ', ...])Eine Series mit Leerzeichen wurde erstellt.repr(s)Wird verwendet, um den ursprünglichen Inhalt der Zeichenkette anzuzeigen, einschließlich unsichtbarer Zeichen wie Leerzeichen und Tabulatoren.s.str.strip()Leerzeichen wurden an beiden Enden jeder Zeichenkette entfernt.- Whitespace-Zeichen in der Mitte der Zeichenkette bleiben unverändert.
Beispiel 2: Angegebene Zeichen entfernen
Sie könnento_stripGeben Sie die zu entfernenden Zeichen über den Parameter an.
Beispiel
# Erstellen Sie eine Series mit bestimmten Zeichen
s = pd.Series(['xxxhello xxx', 'yyyworldyyy', 'zzzexamplezzz'])
# Entfernen Sie 'x'-Zeichen von beiden Enden
result_x = s.str.strip('x')
# Entfernen Sie 'y'-Zeichen von beiden Enden
result_y = s.str.strip('y')
# Entfernen Sie 'z'-Zeichen von beiden Enden
result_z = s.str.strip('z')
print("Originalreihe:")
print(s)
print("nErgebnis nach dem Entfernen von 'x':")
print(result_x)
print("nErgebnis nach dem Entfernen von 'y':")
print(result_y)
print("nErgebnis nach dem Entfernen von 'z':")
print(result_z)
Ausgabeergebnis:
原始 Series: 0 xxxhello xxx 1 yyyworldyyy 2 zzzexamplezzz dtype: object 去除 'x' 后的结果: 0 hello xxx 1 yyyworldyyy 2 zzzexamplezzz 去除 'y' 后的结果: 0 xxxhello xxx 1 worldyyy 2 zzzexamplezzz 去除 'z' 后的结果: 0 xxxhello xxx 1 yyyworldyyy 2 examplezzz
Code-Erklärung:
strip('x')Nur die 'x'-Zeichen an beiden Enden der Zeichenkette werden entfernt.- Wenn sich in der Mitte der Zeichenkette dieselben Zeichen befinden, werden sie nicht entfernt.
- Nur Zeichen, die an beiden Enden aufeinanderfolgend vorkommen, werden entfernt.
Beispiel 3: Umgang mit Whitespace-Problemen in realen Daten
Bei der Verarbeitung von Daten aus Dateien oder Benutzereingaben,strip()ist diese Funktion sehr nützlich.
Beispiel
# Simuliere Benutzernamendaten, die aus einem Formular gesammelt wurden (können zusätzliche Leerzeichen enthalten)
usernames = pd.Series([' admin ', 'user123', ' moderator ', 'guest'])
# cleanupUsername
cleaned_usernames = usernames.str.strip()
print(Ursprünglicher Benutzername:)
print(usernames)
print(nBereinigter Benutzername:)
print(cleaned_usernames)
# Leerzeichen vor dem Vergleich entfernen
print(n Ob sie nach dem Entfernen von Leerzeichen gleich sind:)
print(cleaned_usernames == 'admin')
Ausgabeergebnis:
原始用户名: 0 admin 1 user123 2 moderator 3 guest dtype: object 清理后的用户名: 0 admin 1 user123 2 moderator 3 guest 清理后的用户名: 0 True 1 False 2 False 3 False
Code-Erklärung:
strip()Leerzeichen vor und nach den Benutzernamen entfernt.- Dies stellt sicher, dass die vom Benutzer eingegebene
' admin 'korrekt abgeglichen werden kann.'admin'。 - Dies ist ein wichtiger Schritt bei der Datenbereinigung, der durch Leerzeichen verursachte Abgleichsfehler vermeiden kann.
Verwandte Funktionen
Pandas bietet auch andere Funktionen zum Entfernen von Leerzeichen:
str.lstrip()- Entfernt Leerzeichen nur von der linken Seite (Anfang) des Strings.str.rstrip()- Entfernt Leerzeichen nur von der rechten Seite (Ende) des Strings.
Beispiel
s = pd.Series([' hello world '])
print(Original-String:, repr(s[0]))
print("strip():", repr(s.str.strip()[0])) # Beide Enden entfernen
print("lstrip():", repr(s.str.lstrip()[0])) # Links entfernen
print("rstrip():", repr(s.str.rstrip()[0])) # Rechts entfernen
Ausgabeergebnis:
原始字符串: ' hello world ' strip(): 'hello world' lstrip(): 'hello world ' rstrip(): ' hello world'
Hinweise
str.strip()Standardmäßig werden Whitespace-Zeichen entfernt, darunter Leerzeichen, Tabs (\t), Zeilenumbrüche (\n), Wagenrücklaufzeichen (\r) usw.- Diese Funktion entfernt nur Zeichen an beiden Enden der Zeichenkette; Zeichen in der Mitte werden nicht beeinflusst.
- Wenn die Series NaN-Werte enthält,
strip()es wird NaN zurückgeben. - Diese Funktion gibt eine neue Series zurück und verändert die Originaldaten nicht.
Andere Erweiterungen
Pandas Häufige Funktionen