Das Entschachteln (auch als Explodieren bezeichnet) mehrerer Listenspalten in großen Pandas-DataFrames kann eine rechenintensive Aufgabe sein, insbesondere wenn die Die Größe des Datensatzes ist erheblich. Um dieser Herausforderung zu begegnen, untersuchen wir zwei effiziente Methoden, die auf unterschiedliche Pandas-Versionen zugeschnitten sind.
Für Pandas-Versionen 1.3 und höher bietet die Methode DataFrame.explode eine unkomplizierte Möglichkeit um mehrere Spalten gleichzeitig aufzulösen. Diese Methode erfordert, dass alle Werte in den ausgewählten Spalten Listen gleicher Größe haben. Übergeben Sie einfach die Spaltennamen an die Explosionsmethode, wie unten gezeigt:
df.explode(['B', 'C', 'D', 'E']).reset_index(drop=True)
Für ältere Pandas-Versionen können wir Series.explode für jede Spalte verwenden. Wir legen zunächst alle Spalten als Index fest, die nicht aufgelöst werden sollen, und setzen dann den Index nach dem Vorgang zurück.
df.set_index(['A']).apply(pd.Series.explode).reset_index()
Beide Methoden bieten eine effiziente Leistung, wie im Folgenden gezeigt wird Timings für einen großen Datensatz:
%timeit df2.explode(['B', 'C', 'D', 'E']).reset_index(drop=True) %timeit df2.set_index(['A']).apply(pd.Series.explode).reset_index() # Pandas >= 1.3 (fastest) 2.59 ms ± 112 µs per loop # Pandas >= 0.25 1.27 ms ± 239 µs per loop
Durch die Nutzung dieser effizienten Methoden können wir mehrere Listenspalten in Pandas DataFrames jeder Größe effektiv entschachteln und so ermöglichen nahtlose Datenanalyse und -manipulation.
Das obige ist der detaillierte Inhalt vonWie kann man mehrere Listenspalten in Pandas DataFrames effizient entschachteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!