Pandalar: bir liste sütunu birden çok sütuna nasıl bölünür?


Pandas DataFrame’de bir liste sütununu birden çok sütuna bölmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

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

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Pandas’ta bir liste sütununu birden çok sütuna bölme

Diyelim ki, noktalar adı verilen sütunun değer listeleri içerdiği aşağıdaki pandalar DataFrame’e sahibiz:

 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]

Puan sütununun oyun1 ve oyun2 adı verilen iki yeni sütuna bölündüğü yeni bir DataFrame oluşturmak için aşağıdaki sözdizimini kullanabiliriz:

 #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

Eğer istersek, concat() fonksiyonunu kullanarak bu bölünmüş DataFrame’i orijinal DataFrame ile birleştirebiliriz:

 #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

Son olarak eğer istersek orijinal noktalar sütununu DataFrame’den kaldırabiliriz:

 #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

Nihai sonuç, listelerin orijinal puan sütununun artık oyun1 ve oyun2 adı verilen iki yeni sütuna bölündüğü bir DataFrame’dir.

Not : Liste sütununuz her listede tek sayıda değer içeriyorsa, pandalar listeleri sütunlara bölerken eksik değerleri NaN değerleriyle dolduracaktır.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandas DataFrame’i indeks olmadan nasıl yazdırabilirim?
Pandas DataFrame’deki tüm satırlar nasıl görüntülenir?
Pandas DataFrame’deki tüm sütunların türü nasıl kontrol edilir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir