Pandas: so erhalten sie einen teilstring einer ganzen spalte


Sie können die folgende grundlegende Syntax verwenden, um den Teilstring einer gesamten Spalte in einem Pandas-DataFrame abzurufen:

 df[' some_substring '] = df[' string_column ']. str [1:4]

In diesem speziellen Beispiel wird eine neue Spalte namens some_substring erstellt, die die Zeichen von Position 1 bis 4 in string_column enthält.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Teilzeichenfolge der gesamten Spalte in Pandas abrufen

Nehmen wir an, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballteams enthält:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavericks', 'Warriors', 'Rockets', 'Hornets', 'Lakers'],
                   ' points ': [120, 132, 108, 118, 106]})

#view DataFrame
print (df)

        team points
0 Mavericks 120
1 Warriors 132
2 Rockets 108
3 Hornets 118
4 Lakers 106

Mit der folgenden Syntax können wir eine neue Spalte erstellen, die die Zeichen aus der Teamspalte zwischen Position 1 und 4 enthält:

 #create column that extracts characters in positions 1 through 4 in team column
df[' team_substring '] = df[' team ']. str [1:4]

#view updated DataFrame
print (df)

        team points team_substring
0 Mavericks 120 ave
1 Warriors 132 arr
2 Rockets 108 ock
3 Hornets 118 orn
4 Lakers 106 ake

Die neue Spalte namens team_substring enthält die Zeichen aus der Teamspalte zwischen Position 1 und 4.

Beachten Sie, dass Sie eine Fehlermeldung erhalten, wenn Sie versuchen, diese Syntax zum Extrahieren einer Teilzeichenfolge aus einer numerischen Spalte zu verwenden:

 #attempt to extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. str [:2]

AttributeError: Can only use .str accessor with string values!

Stattdessen müssen Sie zunächst die numerische Spalte mithilfe von astype(str) in eine Zeichenfolge konvertieren:

 #extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. astype (str). str [:2]

#view updated DataFrame
print (df)

        team points points_substring
0 Mavericks 120 12
1 Warriors 132 13
2 Rockets 108 10
3 Hornets 118 11
4 Lakers 106 10

Dieses Mal konnten wir die Zeichen von Position 0 bis 2 erfolgreich aus der Punktspalte extrahieren, weil wir sie zuerst in eine Zeichenfolge konvertiert haben.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:

Pandas: Überprüfen Sie, ob die Zeichenfolge mehrere Teilzeichenfolgen enthält
Pandas: So fügen Sie jedem Wert in einer Spalte eine Zeichenfolge hinzu
Pandas: So wählen Sie Spalten aus, die eine bestimmte Zeichenfolge enthalten

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert