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
Mary-Kate OlsenOriginal
2024-12-17 13:02:26735Durchsuche

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)]
})

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)

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

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']
)

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

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!

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