Einführung
In diesem Lab wird gezeigt, wie man mit Text-Daten in pandas umgeht. Wir werden lernen, wie man Text-Daten speichert, String-Methoden für die Datenaufbereitung und -transformation verwendet und Teilstrings mit regulären Ausdrücken extrahiert. Wir werden auch lernen, wie man Dummy-Variablen für maschinelle Lernalgorithmen erstellt.
Tipps für die VM
Nachdem die VM gestartet ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.
Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Text-Daten speichern
In pandas können Sie Text-Daten auf zwei Arten speichern: indem Sie ein NumPy-Array vom Typ object oder einen Erweiterungstyp StringDtype verwenden. Wir empfehlen die Verwendung von StringDtype, da er sicherer und spezifischer als der generische object-DatenTyp ist.
import pandas as pd
## erstelle eine Serie mit dem `object`-DatenTyp
s1 = pd.Series(["a", "b", "c"], dtype="object")
## erstelle eine Serie mit dem `StringDtype`
s2 = pd.Series(["a", "b", "c"], dtype="string")
String-Methoden verwenden
Pandas bietet eine Reihe von String-Verarbeitungs-Methoden, die es ermöglichen, mit String-Daten einfach umzugehen. Diese Methoden schließen automatisch fehlende/NA-Werte aus.
s = pd.Series(
["A", "B", "C", "Aaba", "Baca", np.nan, "CABA", "dog", "cat"], dtype="string"
)
## in Kleinbuchstaben umwandeln
s.str.lower()
## in Großbuchstaben umwandeln
s.str.upper()
## berechne die Länge jedes Strings
s.str.len()
Teilstrings extrahieren
Sie können Teilstrings mit regulären Ausdrücken extrahieren. Die extract-Methode akzeptiert einen regulären Ausdruck mit mindestens einer Capturing-Gruppe.
## extrahiere die erste Ziffer aus jedem String
s = pd.Series(["a1", "b2", "c3"], dtype="string")
s.str.extract(r"(\d)", expand=False)
Prüfung auf Strings
Sie können überprüfen, ob Elemente einen bestimmten Text enthalten oder einem Muster entsprechen, indem Sie die Methoden contains und match verwenden.
## überprüfe, ob jeder String das Muster "a" enthält
s.str.contains("a", na=False)
## überprüfe, ob jeder String dem Muster "a" entspricht
s.str.match("a", na=False)
Dummy-Variablen erstellen
Sie können Dummy-Variablen aus String-Daten mit der get_dummies-Methode erstellen.
## erstelle Dummy-Variablen
s = pd.Series(["a", "a|b", np.nan, "a|c"], dtype="string")
s.str.get_dummies(sep="|")
Zusammenfassung
In diesem Lab haben wir gelernt, wie man in pandas mit Text-Daten umgeht. Wir haben gelernt, wie man Text-Daten speichert, String-Methoden für die Datenaufbereitung und -Transformation verwendet, Teilstrings mit regulären Ausdrücken extrahiert, testet, ob Elemente einen bestimmten Text enthalten oder einem Muster entsprechen, und Dummy-Variablen erstellt. Diese Techniken sind grundlegend für die Verarbeitung von Text-Daten für maschinelle Lernalgorithmen.