Pandas dataframe sütunlarını dizelere dönüştürme


Çoğu zaman bir panda DataFrame’in bir veya daha fazla sütununu dizelere dönüştürmek isteyebilirsiniz. Neyse ki pandaların yerleşik astype(str) işlevini kullanarak bunu yapmak kolaydır.

Bu eğitimde bu işlevin kullanımına ilişkin birkaç örnek gösterilmektedir.

Örnek 1: Tek bir DataFrame Sütununu Dizeye Dönüştürme

Aşağıdaki pandalara sahip olduğumuzu varsayalım DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                   'points': [25, 20, 14, 16, 27],
                   'assists': [5, 7, 7, 8, 11]})

#view DataFrame 
df

        player points assists
0 to 25 5
1 B 20 7
2 C 14 7
3 D 16 8
4 E 27 11

Her sütunun veri türünü dtypes kullanarak tanımlayabiliriz:

 df. dtypes

player object
int64 dots
assists int64
dtype:object

“Oyuncu” sütununun bir dize olduğunu, diğer iki “puan” ve “pas” sütununun ise tam sayı olduğunu görebiliriz.

“Noktalar” sütununu astype(str) kullanarak aşağıdaki gibi bir dizeye dönüştürebiliriz:

 df['points'] = df['points'].astype( str )

Bu sütunun artık dtypes kullanarak bir dize olduğunu tekrar doğrulayabiliriz:

 df. dtypes

player object
points object
assists int64
dtype:object

Örnek 2: Birden Çok DataFrame Sütunu Dizelere Dönüştürme

Aşağıdaki sözdizimini kullanarak hem “puan” hem de “asist” sütunlarını dizelere dönüştürebiliriz:

 df[['points', 'assists']] = df[['points', 'assists']].astype( str )

Ve yine dtypes kullanarak bunların dize olup olmadığını kontrol edebiliriz:

 df. dtypes

player object
points object
assists object
dtype:object

Örnek 3: Bir DataFrame’in Tamamını Dizelere Dönüştürme

Son olarak, bir DataFrame’in her sütununu aşağıdaki sözdizimini kullanarak dizelere dönüştürebiliriz:

 #convert every column to strings
df = df.astype(str)

#check data type of each column
df. dtypes
player object
points object
assists object
dtype:object

astype() işlevinin tam belgelerini burada bulabilirsiniz.

Yorum ekle

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