Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man mehrere Listenspalten in Pandas DataFrames effizient entschachteln?

Wie kann man mehrere Listenspalten in Pandas DataFrames effizient entschachteln?

Susan Sarandon
Susan SarandonOriginal
2024-11-17 16:01:02378Durchsuche

How to Efficiently Unnest Multiple List Columns in Pandas DataFrames?

Effizientes Entschachteln mehrerer Listenspalten in Pandas-DataFrames

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.

Pandas >= 1.3

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)

Pandas >= 0.25

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()

Überlegungen zur Leistung

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn