Pandas: cara membagi kolom daftar menjadi beberapa kolom


Anda dapat menggunakan sintaks dasar berikut untuk membagi kolom daftar menjadi beberapa kolom di pandas DataFrame:

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

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: membagi kolom daftar menjadi beberapa kolom di Pandas

Misalkan kita memiliki panda DataFrame berikut yang kolomnya disebut poin berisi daftar nilai:

 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]

Kita dapat menggunakan sintaks berikut untuk membuat DataFrame baru di mana kolom poin dibagi menjadi dua kolom baru yang disebut game1 dan 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

Jika mau, kita dapat menggabungkan DataFrame terpisah ini dengan DataFrame asli menggunakan fungsi 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

Terakhir, kita dapat menghapus kolom poin asli dari DataFrame jika kita ingin:

 #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

Hasil akhirnya adalah DataFrame di mana kolom poin asli dari daftar sekarang dibagi menjadi dua kolom baru yang disebut game1 dan game2 .

Catatan : Jika kolom daftar Anda berisi jumlah nilai ganjil di setiap daftar, panda hanya akan mengisi nilai yang hilang dengan nilai NaN saat membagi daftar menjadi beberapa kolom.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara mencetak Pandas DataFrame tanpa indeks
Cara menampilkan semua baris di Pandas DataFrame
Cara memeriksa tipe semua kolom di Pandas DataFrame

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *