Panda's: hoe u een kolom met lijsten in meerdere kolommen kunt splitsen


U kunt de volgende basissyntaxis gebruiken om een kolom met lijsten in meerdere kolommen in een pandas DataFrame te splitsen:

 #split column of lists into two new columns
split = pd. DataFrame (df[' my_column ']. to_list (), columns = [' new1 ',' new2 '])

#join split columns back to original DataFrame
df = pd. concat ([df, split], axis= 1 )

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: splits een kolom met lijsten in meerdere kolommen in Pandas

Stel dat we de volgende panda’s DataFrame hebben waarin de kolom met de naam punten lijsten met waarden bevat:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Heat', 'Kings', 'Suns'],
                   ' points ': [[99, 105], [94, 113], [99, 97], [87, 95]]})

#view DataFrame
print (df)

    team points
0 Mavs [99, 105]
1 Heat [94, 113]
2 Kings [99, 97]
3 Suns [87, 95]

We kunnen de volgende syntaxis gebruiken om een nieuw DataFrame te maken waarin de puntenkolom is opgesplitst in twee nieuwe kolommen genaamd game1 en game2 :

 #split column of lists into two new columns
split = pd. DataFrame (df[' my_column ']. to_list (), columns = [' new1 ',' new2 '])

#view DataFrame
print (split)

   game1 game2
0 99 105
1 94 113
2 99 97
3 87 95

Als we dat willen, kunnen we dit gesplitste DataFrame samenvoegen met het originele DataFrame met behulp van de concat() functie:

 #join split columns back to original DataFrame
df = pd. concat ([df, split], axis= 1 ) 

#view updated DataFrame
print (df)

    team points game1 game2
0 Mavs [99, 105] 99 105
1 Heat [94, 113] 94 113
2 Kings [99, 97] 99 97
3 Suns [87, 95] 87 95

Ten slotte kunnen we de originele puntenkolom uit het DataFrame verwijderen als we dat willen:

 #drop original points column
df = df. drop (' points ', axis= 1 )

#view updated DataFrame
print (df)

    team game1 game2
0 Mavs 99 105
1 Heat 94 113
2 Kings 99 97
3 Suns 87 95

Het eindresultaat is een DataFrame waarin de oorspronkelijke puntenkolom van de lijsten nu is opgesplitst in twee nieuwe kolommen genaamd game1 en game2 .

Opmerking : als uw kolom met lijsten in elke lijst een oneven aantal waarden bevat, vullen panda’s de ontbrekende waarden eenvoudigweg aan met NaN- waarden wanneer ze de lijsten in kolommen splitsen.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Hoe Pandas DataFrame af te drukken zonder index
Hoe alle rijen in een Pandas DataFrame worden weergegeven
Hoe u het type van alle kolommen in Pandas DataFrame kunt controleren

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert