Pandy: jak podzielić kolumnę list na wiele kolumn


Możesz użyć następującej podstawowej składni, aby podzielić kolumnę list na wiele kolumn w ramce DataFrame pandy:

 #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 )

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: podziel kolumnę list na wiele kolumn w Pandach

Załóżmy, że mamy następującą pandę DataFrame, w której kolumna o nazwie punkty zawiera listy wartości:

 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]

Możemy użyć następującej składni, aby utworzyć nową ramkę danych, w której kolumna punktów jest podzielona na dwie nowe kolumny zwane gra1 i gra2 :

 #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

Jeśli chcemy, możemy połączyć podzieloną ramkę DataFrame z oryginalną ramką DataFrame za pomocą funkcji concat() :

 #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

Na koniec możemy usunąć oryginalną kolumnę punktów z ramki DataFrame, jeśli chcemy:

 #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

Efektem końcowym jest DataFrame, w której oryginalna kolumna punktów na listach jest teraz podzielona na dwie nowe kolumny zwane game1 i game2 .

Uwaga : jeśli Twoja kolumna list zawiera nieparzystą liczbę wartości na każdej liście, pandy po prostu uzupełnią brakujące wartości wartościami NaN podczas dzielenia list na kolumny.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:

Jak wydrukować Pandas DataFrame bez pliku indeksowego
Jak wyświetlić wszystkie wiersze w ramce danych Pandas
Jak sprawdzić typ wszystkich kolumn w Pandas DataFrame

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *