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
Freigeben: 2024-12-19 18:02:10
Original
287 Leute haben es durchsucht

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]]
Nach dem Login kopieren

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]
Nach dem Login kopieren
  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
Nach dem Login kopieren
  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
Nach dem Login kopieren

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!

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