Heim >Backend-Entwicklung >Python-Tutorial >Wie teile ich eine Pandas-Listenspalte in mehrere Spalten auf?

Wie teile ich eine Pandas-Listenspalte in mehrere Spalten auf?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-19 18:02:10290Durchsuche

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

Pandas-Listenspalte in mehrere Spalten aufteilen

Problem

Stellen Sie sich einen Pandas-DataFrame mit einer Spalte vor, die Listen enthält:

import pandas as pd

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

       teams
0  [[SF, NYG]]
1  [[SF, NYG]]
2  [[SF, NYG]]
3  [[SF, NYG]]
4  [[SF, NYG]]
5  [[SF, NYG]]
6  [[SF, NYG]]

Um diese Spalte in zwei einzelne Spalten umzuwandeln, befolgen Sie die nachstehenden Schritte Schritte:

Lösung

  1. Liste von Werten erstellen mit to_list():
import pandas as pd

d1 = {'teams': [['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],
                ['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG']]}
df2 = pd.DataFrame(d1)
print (df2)
       teams
0  [SF, NYG]
1  [SF, NYG]
2  [SF, NYG]
3  [SF, NYG]
4  [SF, NYG]
5  [SF, NYG]
6  [SF, NYG]
  1. Spalten mithilfe der Zuweisung extrahieren:

Zuweisen ein neuer DataFrame mit den gewünschten Spalten:

df2[['team1','team2']] = pd.DataFrame(df2.teams.tolist(), index= df2.index)
print (df2)
       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
  1. Neuen DataFrame für Ergebnis erstellen:

Alternativ kann ein neuer DataFrame separat erstellt werden :

df3 = pd.DataFrame(df2['teams'].to_list(), columns=['team1','team2'])
print (df3)
  team1 team2
0    SF   NYG
1    SF   NYG
2    SF   NYG
3    SF   NYG
4    SF   NYG
5    SF   NYG
6    SF   NYG

Hinweis: Verwendung von apply(pd.Series) denn dieser Vorgang kann deutlich langsamer sein als die oben beschriebenen Methoden.

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