Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine Pandas-Listenspalte effizient in mehrere Spalten aufteilen?

Wie kann ich eine Pandas-Listenspalte effizient in mehrere Spalten aufteilen?

Mary-Kate Olsen
Freigeben: 2024-12-17 13:02:26
Original
731 Leute haben es durchsucht

How to Efficiently Split a Pandas Column of Lists into Multiple Columns?

Aufteilen einer Pandas-Listenspalte in mehrere Spalten

Bei der Datenexploration ist es oft notwendig, DataFrame-Spalten in ein besser verwaltbares Format umzustrukturieren. Ein solches Szenario beinhaltet die Aufteilung einer Spalte mit Listen in mehrere Spalten.

Stellen Sie sich einen DataFrame mit einer einzelnen Spalte namens „Teams“ vor, die Listen mit Teamnamen enthält:

import pandas as pd

df = pd.DataFrame({
    "teams": [[
        "SF", 
        "NYG"
    ] for _ in range(7)]
})
Nach dem Login kopieren

So teilen Sie dies auf Wenn wir die Spalte „teams“ in zwei Spalten, „team1“ und „team2“, aufteilen, können wir den DataFrame-Konstruktor mit Listen nutzen, die von to_list erstellt wurden Methode.

Option 1: Vorhandenen DataFrame ändern

Mit der to_list-Methode können wir die „teams“-Liste in eine Liste von Listen umwandeln, die dazu verwendet werden kann Erstellen Sie die neuen Spalten „team1“ und „team2“:

df[['team1', 'team2']] = pd.DataFrame(df['teams'].tolist(), index=df.index)
Nach dem Login kopieren

Dieser Vorgang ändert den ursprünglichen DataFrame durch den neuen Spalten:

       teams team1 team2
0  [SF, NYG]    SF   NYG
1  [SF, NYG]    SF   NYG
2  [SF, NYG]    SF   NYG
3  [SF, NYG]    SF   NYG
4  [SF, NYG]    SF   NYG
5  [SF, NYG]    SF   NYG
6  [SF, NYG]    SF   NYG
Nach dem Login kopieren

Option 2: Erstellen eines neuen DataFrame

Alternativ können wir bei Bedarf einen neuen DataFrame mit den geteilten Spalten erstellen:

df3 = pd.DataFrame(
    df['teams'].tolist(), 
    columns=['team1', 'team2']
)
Nach dem Login kopieren

Dieser Vorgang erstellt einen separaten DataFrame:

  team1 team2
0    SF   NYG
1    SF   NYG
2    SF   NYG
3    SF   NYG
4    SF   NYG
5    SF   NYG
6    SF   NYG
Nach dem Login kopieren

Bitte beachten Sie, dass bei der Anwendung von Die Funktion apply(pd.Series) zum Erreichen dieser Aufteilung ist deutlich langsamer und wird für größere Datensätze nicht empfohlen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Pandas-Listenspalte effizient in mehrere Spalten aufteilen?. 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