Pandas Series.str.strip() Funktion

Pandas 常用函数Pandas Häufige Funktionen


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

import pandas as pd

# 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:

  1. pd.Series([' hello ', ...])Eine Series mit Leerzeichen wurde erstellt.
  2. repr(s)Wird verwendet, um den ursprünglichen Inhalt der Zeichenkette anzuzeigen, einschließlich unsichtbarer Zeichen wie Leerzeichen und Tabulatoren.
  3. s.str.strip()Leerzeichen wurden an beiden Enden jeder Zeichenkette entfernt.
  4. 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

import pandas as pd

# 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

import pandas as pd

# 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

import pandas as pd

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.

Pandas 常用函数Pandas Häufige Funktionen

Andere Erweiterungen