Pandalar: dizeleri sayı olarak kodlamak için faktörize() nasıl kullanılır?


Pandas Factorize() işlevi dizeleri sayısal değerler olarak kodlamak için kullanılabilir.

Factorize() işlevini bir pandas DataFrame’in sütunlarına uygulamak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Bir sütunu çarpanlara ayırın

 df[' col1 '] = pd. factorize (df[' col '])[0]

Yöntem 2: Belirli sütunları çarpanlara ayır

 df[[' col1 ', ' col3 ']] = df[[' col1 ', ' col3 ']]. apply ( lambda x: pd.factorize (x)[ 0 ])

Yöntem 3: Tüm Sütunları Faktörlere Ayırma

 df = df. apply ( lambda x: pd.factorize (x)[ 0 ])

Aşağıdaki örnek, her yöntemin aşağıdaki pandalar DataFrame ile nasıl kullanılacağını gösterir:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' conf ': ['West', 'West', 'East', 'East'],
                   ' team ': ['A', 'B', 'C', 'D'],
                   ' position ': ['Guard', 'Forward', 'Guard', 'Center'] })

#view DataFrame
df

   conf team position
0 West A Guard
1 West B Forward
2 East C Guard
3 East D Center

Örnek 1: Bir sütunu çarpanlara ayırın

Aşağıdaki kod, DataFrame’deki bir sütunun nasıl çarpanlara ayrılacağını gösterir:

 #factorize the conf column only
df[' conf '] = pd. factorize (df[' conf '])[ 0 ]

#view updated DataFrame
df

	conf team position
0 0 A Guard
1 0 B Forward
2 1 C Guard
3 1 D Center

Yalnızca ‘conf’ sütununun dikkate alındığını unutmayın.

“Batı” olan her değer artık 0, “Doğu” olan her değer artık 1’dir.

Örnek 2: Belirli sütunları çarpanlara ayırın

Aşağıdaki kod, DataFrame’deki belirli sütunların nasıl çarpanlara ayrılacağını gösterir:

 #factorize conf and team columns only
df[[' conf ', ' team ']] = df[[' conf ', ' team ']]. apply ( lambda x: pd.factorize (x)[ 0 ])

#view updated DataFrame
df

        conf team position
0 0 0 Guard
1 0 1 Forward
2 1 2 Guard
3 1 3 Center

“Conf” ve “team” sütunlarının her ikisinin de hesaba katıldığını unutmayın.

Örnek 3: Tüm sütunları çarpanlara ayırın

Aşağıdaki kod, DataFrame’deki tüm sütunların nasıl çarpanlara ayrılacağını gösterir:

 #factorize all columns
df = df. apply ( lambda x: pd.factorize (x)[ 0 ])

#view updated DataFrame
df

     conf team position
0 0 0 0
1 0 1 1
2 1 2 0
3 1 3 2

Tüm sütunların dikkate alındığını unutmayın.

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 sütunlarını dizelere dönüştürme
Pandas’ta kategorik bir değişken sayısala nasıl dönüştürülür?
Pandas DataFrame sütunlarını tam sayıya dönüştürme

Yorum ekle

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