In Data Science sind Textdaten allgegenwärtig: Kundenbewertungen, Namen, Adressen, Social-Media-Beiträge oder Produktbeschreibungen. Um solche Daten analysieren, bereinigen oder transformieren zu können, sind String-Operationen unerlässlich. In Python gibt es dafür umfangreiche Methoden, die sich in Pandas optimal auf Spalten von DataFrames anwenden lassen. In diesem Teil lernst du, wie man Strings effizient bearbeitet, filtert und für Analysen vorbereitet.
1. Grundlagen von Strings in Python
Strings in Python sind Textsequenzen. Du kannst sie wie folgt definieren:
name = "Anna"
text = 'Python ist großartig!'
Wichtige Methoden:
name.upper() # 'ANNA' – alles in Großbuchstaben
name.lower() # 'anna' – alles in Kleinbuchstaben
name.title() # 'Anna' – jedes Wort groß
name.strip() # entfernt Leerzeichen am Anfang und Ende
- Strings sind immutable, d.h. Methoden erzeugen neue Strings
- Praktisch für Bereinigung und Vereinheitlichung
2. String-Verkettung und Formatierung
vorname = "Anna"
nachname = "Müller"
# Verkettung
fullname = vorname + " " + nachname
print(fullname)
# Formatierung
age = 28
print(f"{fullname} ist {age} Jahre alt")
- F-Strings (
f"") sind effizient und lesbar - Wichtiger Bestandteil für Datenbeschriftungen und Reports
3. Suchen und Ersetzen in Strings
text = "Python ist super"
text.replace("super", "fantastisch") # 'Python ist fantastisch'
text.find("Python") # 0 → Position des Substrings
text.startswith("Py") # True
text.endswith("!"), # False
- Methoden helfen beim Filtern, Säubern und Ersetzen von Textdaten
4. Arbeiten mit Strings in Pandas
In Pandas arbeiten wir oft mit DataFrame-Spalten, die Strings enthalten:
import pandas as pd
df = pd.DataFrame({
"Name": ["Anna Müller", "ben Schmidt", "Clara Meier"],
"Email": ["anna@example.com", "ben@web.de", "clara@example.com"]
})
Groß- und Kleinschreibung
df["Name_upper"] = df["Name"].str.upper()
df["Name_lower"] = df["Name"].str.lower()
.str→ erlaubt String-Methoden auf ganze Spalten anzuwenden
Whitespace entfernen
df["Name"] = df["Name"].str.strip()
- Entfernt unnötige Leerzeichen
- Hilft, Fehler bei Vergleichen oder Filtern zu vermeiden
Filtern nach Text
# Namen, die 'Anna' enthalten
df[df["Name"].str.contains("Anna")]
# Emails, die auf '.com' enden
df[df["Email"].str.endswith(".com")]
- String-Filter mit
.contains(),.startswith(),.endswith() - Praktisch für Datenbereinigung oder Segmentierung
String aufteilen
# Vor- und Nachname trennen
df[["Vorname", "Nachname"]] = df["Name"].str.split(" ", expand=True)
.split()→ trennt Strings an Leerzeichen, Kommas oder anderen Trennzeichenexpand=True→ erstellt mehrere Spalten
Strings ersetzen
# Kleinbuchstaben in Email
df["Email"] = df["Email"].str.lower()
# Domains ändern
df["Email"] = df["Email"].str.replace("example.com", "firma.de")
.replace()auf Spalten anwenden → effizient für Massendaten
5. Regex (Reguläre Ausdrücke) in Pandas
Für komplexere Muster eignet sich Regex:
# Emails mit Regex filtern
df[df["Email"].str.contains(r"@example\.com$")]
# Zahlen aus Text extrahieren
df = pd.DataFrame({"Text": ["Alter: 28", "Alter: 35", "Alter: 22"]})
df["Alter"] = df["Text"].str.extract(r"(\d+)")
\d+→ Zahlen- Regex ermöglicht flexibles Filtern und Extrahieren
6. Praxisbeispiel: Kunden-Daten bereinigen
df = pd.DataFrame({
"Name": [" Anna Müller ", "ben Schmidt", "CLARA MEIER"],
"Email": ["Anna@EXAMPLE.com", "ben@web.de", "CLARA@EXAMPLE.COM"]
})
# Leerzeichen entfernen
df["Name"] = df["Name"].str.strip()
# Einheitliche Schreibweise
df["Name"] = df["Name"].str.title()
df["Email"] = df["Email"].str.lower()
# Vor- und Nachname trennen
df[["Vorname", "Nachname"]] = df["Name"].str.split(" ", expand=True)
print(df)
Ergebnis:
Name Email Vorname Nachname
0 Anna Müller anna@example.com Anna Müller
1 Ben Schmidt ben@web.de Ben Schmidt
2 Clara Meier clara@example.com Clara Meier
- Zeigt bereinigte, einheitliche Daten
- Essentiell für Analyse, Reporting und Machine Learning
7. Tipps für Data Science
- String-Operationen früh anwenden – vereinfacht spätere Analysen
- .str-Methoden in Pandas nutzen – sehr effizient
- Regex nur bei komplexen Mustern – sonst normale Methoden verwenden
- Whitespace entfernen und Groß-/Kleinschreibung vereinheitlichen
- Vor- und Nachname, Domains, Codes sauber trennen
8. Fazit
String-Operationen sind in Data Science entscheidend für Textdaten. Python und Pandas bieten:
- Grundlegende Methoden (
upper,lower,strip) - Spaltenbasierte Operationen mit
.str - Filter, Split, Replace, Regex
Wer diese Fähigkeiten beherrscht, kann Textdaten bereinigen, vereinheitlichen und analysieren, was die Grundlage für Reports, Datenvisualisierung und Machine Learning ist.
Schreibe einen Kommentar