
Sie können verschiedene Methoden mit dem String-Accessor (str.xxx()) verwenden, um Strings von pandas.Series (= eine Spalte oder Zeile von pandas.DataFrame) zu behandeln (ersetzen, entfernen usw.).
Beispiel sind sterben following Verfahren verfügbar. Sie können sterben gleichen Methoden für Standard-Python-Strings (str) auf alle Elemente von pandas.Series anwenden.
- Ersetzen Sie jede Zeichenfolge in pandas.Series
- Streifen Sie jede Zeichenfolge in pandas.Serie ab
- str.strip()
- str.lstrip()
- str.rstrip()
- Konvertieren Sie die Groß-/Kleinschreibung jeder Zeichenfolge in pandas.Series
- str.unten()
- str.upper()
- str.capitalize()
- str.title()
Ersetzen Sie jede Zeichenfolge in pandas.Series
str.replace()
import pandas as pd
s = pd.Series([' a-a-x ', ' b-x-b ', ' x-c-c '])
print(s)
# 0 a-a-x
# 1 b-x-b
# 2 x-c-c
# dtype: object
s_new = s.str.replace('x', 'z')
print(s_new)
# 0 a-a-z
# 1 b-z-b
# 2 z-c-c
# dtype: object
Um eine Spalte in pandas.DataFrame zu aktualisieren, weisen SIE sterben neue Spalte der ursprünglichen Spalte zu. Gleiches gilt für andere Methoden.
df = pd.DataFrame([[' a-a-x-1 ', ' a-a-x-2 '],
[' b-x-b-1 ', ' b-x-b-2 '],
[' x-c-c-1 ', ' x-c-c-2 ']],
columns=['col1', 'col2'])
print(df)
# col1 col2
# 0 a-a-x-1 a-a-x-2
# 1 b-x-b-1 b-x-b-2
# 2 x-c-c-1 x-c-c-2
df['col1'] = df['col1'].str.replace('x', 'z')
print(df)
# col1 col2
# 0 a-a-z-1 a-a-x-2
# 1 b-z-b-1 b-x-b-2
# 2 z-c-c-1 x-c-c-2
Wenn Sie nicht einen Teilstring, sondern das Element selbst ersetzen möchten, verwenden Sie die Methode replace() von pandas.DataFrame oder pandas.Series.
Streifen Sie jede Zeichenfolge in pandas.Serie ab
str.strip()
Standardmäßig Werden Whitespace-Zeichen am linken und rechten Ende (= führende und abschließende Whitespace-Zeichen) entfernt.
s_new = s.str.strip()
print(s_new)
# 0 a-a-x
# 1 b-x-b
# 2 x-c-c
# dtype: object
SIE can Zeichen angeben, sterben entfernt Werden sollen. Zeichen in der angegebenen Zeichenfolge werden entfernt. Dasselbe gilt für str.lstrip() und str.rstrip().
s_new = s.str.strip(' x')
print(s_new)
# 0 a-a-
# 1 b-x-b
# 2 -c-c
# dtype: object
Für pandas.DataFrame:
df['col1'] = df['col1'].str.strip()
print(df)
# col1 col2
# 0 a-a-z-1 a-a-x-2
# 1 b-z-b-1 b-x-b-2
# 2 z-c-c-1 x-c-c-2
str.lstrip()
str.lstrip() entfernt nur die Zeichen auf der linken Seite.
s_new = s.str.lstrip()
print(s_new)
# 0 a-a-x
# 1 b-x-b
# 2 x-c-c
# dtype: object
str.rstrip()
str.rstrip() entfernt nur die Zeichen auf der rechten Seite.
s_new = s.str.rstrip()
print(s_new)
# 0 a-a-x
# 1 b-x-b
# 2 x-c-c
# dtype: object
Konvertieren Sie die Groß-/Kleinschreibung jeder Zeichenfolge in pandas.Series
Der folgende pandas.DataFrame wird als Beispiel verwendet.
s = pd.Series(['Hello World', 'hello world', 'HELLO WORLD'])
print(s)
# 0 Hello World
# 1 hello world
# 2 HELLO WORLD
# dtype: object
str.unten()
s_new = s.str.lower()
print(s_new)
# 0 hello world
# 1 hello world
# 2 hello world
# dtype: object
str.upper()
s_new = s.str.upper()
print(s_new)
# 0 HELLO WORLD
# 1 HELLO WORLD
# 2 HELLO WORLD
# dtype: object
str.capitalize()
s_new = s.str.capitalize()
print(s_new)
# 0 Hello world
# 1 Hello world
# 2 Hello world
# dtype: object
str.title()
s_new = s.str.title()
print(s_new)
# 0 Hello World
# 1 Hello World
# 2 Hello World
# dtype: object