Text-Datenverarbeitung in Pandas

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.