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