Heim > Backend-Entwicklung > Python-Tutorial > Wie entpacke ich eine listenartige Spalte in separate Zeilen in einem DataFrame?

Wie entpacke ich eine listenartige Spalte in separate Zeilen in einem DataFrame?

Linda Hamilton
Freigeben: 2024-11-11 22:51:03
Original
898 Leute haben es durchsucht

How to Unpack a List-Like Column into Separate Rows in a DataFrame?

Entpacken einer listenähnlichen Spalte in separate Zeilen in einem DataFrame

Frage:

Wie können wir einen DataFrame transformieren? Zelle, die eine Liste enthält, in einzelne Zeilen für jeden darin enthaltenen Wert Liste?

Beispiel:

Betrachten Sie den folgenden DataFrame:

name opponent nearest_neighbors
A.J. Price 76ers ['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']

Unser Ziel ist es, die Spalte „next_neighbors“ zu „explodieren“ und eine neue zu erstellen Zeile für jeden Wert in der Liste.

Antwort:

In Pandas Version 0.25 und höher macht die Methode explosion() diesen Vorgang unkompliziert:

import pandas as pd

df = (pd.DataFrame({'name': ['A.J. Price'] * 3, 
                    'opponent': ['76ers', 'blazers', 'bobcats'], 
                    'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3})
      .set_index(['name', 'opponent']))

df.explode('nearest_neighbors')
Nach dem Login kopieren

Ausgabe:

name opponent nearest_neighbors
A.J. Price 76ers Zach LaVine
A.J. Price 76ers Jeremy Lin
A.J. Price 76ers Nate Robinson
A.J. Price 76ers Isaia
A.J. Price blazers Zach LaVine
A.J. Price blazers Jeremy Lin
A.J. Price blazers Nate Robinson
A.J. Price blazers Isaia
A.J. Price bobcats Zach LaVine
A.J. Price bobcats Jeremy Lin
A.J. Price bobcats Nate Robinson
A.J. Price bobcats Isaia

Die Methode „explosive()“ entrollt effektiv jede Liste in der Spalte „nearest_neighbors“ und erstellt eine neue Zeile für jeden Wert.

Das obige ist der detaillierte Inhalt vonWie entpacke ich eine listenartige Spalte in separate Zeilen in einem DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage