Beim Umgang mit Bei Pandas DataFrames ist es manchmal erforderlich, Spalten, die Listen enthalten, in mehrere Zeilen zu „entschachteln“ oder „aufzulösen“. Dies kann jedoch ein rechenintensiver Vorgang sein, insbesondere bei großen Datensätzen.
Für Pandas-Versionen 1.3 und höher gibt es eine integrierte Funktion namens DataFrame.explode, mit dem Sie die Verschachtelung mehrerer Spalten gleichzeitig aufheben können. Diese Funktion erfordert, dass alle Listenspalten die gleiche Länge haben. So verwenden Sie es:
df.explode(['B', 'C', 'D', 'E']).reset_index(drop=True)
Für ältere Versionen von Pandas ist ein etwas komplexerer Ansatz erforderlich:
df.set_index(['A']).apply(pd.Series.explode).reset_index()
Beide Methoden bieten effiziente Lösungen, wobei set_index und explosion etwas schneller sind als DataFrame.explode. Die folgende Tabelle zeigt den Leistungsvergleich:
Method | Time (seconds) |
---|---|
DataFrame.explode | 0.00259 |
Set index and explode | 0.00127 |
Stacking approach | 0.120 |
Während diese Frage ursprünglich als Duplikat markiert wurde, unterstreicht sie ausdrücklich die Notwendigkeit einer effizienten Methode, die große Probleme bewältigen kann Datensätze. Die Antworten auf die doppelte Frage konnten dieser Anforderung nicht angemessen gerecht werden.
Das obige ist der detaillierte Inhalt vonWie kann man mehrere Listenspalten in einem Pandas-DataFrame effizient entschachteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!