Auflösen verschachtelter Listen in einzelne Zeilen in einem Pandas-Datenrahmen
Im Bereich der Datenmanipulation mit Pandas besteht häufig die Notwendigkeit, Daten neu zu strukturieren als verschachtelte Listen in einzelnen Zeilen gespeichert. Stellen Sie sich einen Datenrahmen vor, in dem die Spalte „nearest_neighbors“ Wertelisten enthält. Das Ziel besteht darin, diese Listen zu „explodieren“ und für jeden Wert innerhalb der Liste separate Zeilen zu erstellen.
Pandas 0.25 vereinfacht das Explodieren von Listen mit der Methode „explosive()“
Für Pandas In den Versionen 0.25 und höher wird das Erweitern von Listen in Spalten durch die Einführung der explosion()-Methode erheblich vereinfacht. Um seine Funktionalität zu demonstrieren, erstellen wir den Beispieldatenrahmen neu:
import pandas as pd # Original DataFrame df = pd.DataFrame({'name': ['A.J. Price'] * 3, 'opponent': ['76ers', 'blazers', 'bobcats'], 'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3}) # Set the index for easier reference df = df.set_index(['name', 'opponent'])
Auflösen der verschachtelten Listen
Mit der Methode explosion() können wir die „nearest_neighbors“ aufteilen. Spalte nach ihren Listenelementen, wodurch für jeden Wert separate Zeilen erstellt werden:
# Explode the list-like column df_exploded = df.explode('nearest_neighbors')
Ausgabe nach der Explosion
print(df_exploded)
nearest_neighbors name opponent A.J. Price 76ers Zach LaVine 76ers Jeremy Lin 76ers Nate Robinson 76ers Isaia blazers Zach LaVine blazers Jeremy Lin blazers Nate Robinson blazers Isaia bobcats Zach LaVine bobcats Jeremy Lin bobcats Nate Robinson bobcats Isaia
Wie Sie sehen können, jeder Wert aus der Liste in der Spalte „nearest_neighbors“ wird jetzt als separate Zeile im entsprechenden Gegnerindex dargestellt.
Andere Methoden zur Listenerweiterung
Für Pandas-Versionen vor 0,25 gab es andere Ansätze, Listen in Spalten zu erweitern. Diese Methoden erforderten eine Kombination von Operationen wie Apply, Lambda und List Comprehension. Mit der Einführung der explosion()-Methode sind diese komplexeren Ansätze jedoch nicht mehr erforderlich.
Das obige ist der detaillierte Inhalt vonWie zerlege ich verschachtelte Listen in einzelne Zeilen in einem Pandas-Datenrahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!