Pandas: cara menggunakan faktorisasi() untuk menyandikan string sebagai angka
Fungsi pandas factorize() dapat digunakan untuk menyandikan string sebagai nilai numerik.
Anda dapat menggunakan metode berikut untuk menerapkan fungsi factorize() ke kolom pandas DataFrame:
Metode 1: Faktorkan sebuah kolom
df[' col1 '] = pd. factorize (df[' col '])[0]
Metode 2: Faktorkan kolom tertentu
df[[' col1 ', ' col3 ']] = df[[' col1 ', ' col3 ']]. apply ( lambda x: pd.factorize (x)[ 0 ])
Metode 3: Faktorkan Semua Kolom
df = df. apply ( lambda x: pd.factorize (x)[ 0 ])
Contoh berikut menunjukkan cara menggunakan setiap metode dengan pandas DataFrame berikut:
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
Contoh 1: Faktorkan sebuah kolom
Kode berikut menunjukkan cara memfaktorkan kolom di DataFrame:
#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
Perhatikan bahwa hanya kolom ‘conf’ yang telah difaktorkan.
Setiap nilai yang tadinya “Barat” sekarang menjadi 0 dan setiap nilai yang tadinya “Timur” sekarang menjadi 1.
Contoh 2: Faktorkan kolom tertentu
Kode berikut menunjukkan cara memfaktorkan kolom tertentu di DataFrame:
#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
Perhatikan bahwa kolom “conf” dan “team” keduanya telah difaktorkan.
Contoh 3: Faktorkan semua kolom
Kode berikut menunjukkan cara memfaktorkan semua kolom di DataFrame:
#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
Perhatikan bahwa semua kolom telah difaktorkan.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Cara mengonversi kolom Pandas DataFrame menjadi string
Cara mengonversi variabel kategorikal menjadi numerik di Pandas
Cara mengonversi kolom Pandas DataFrame menjadi bilangan bulat