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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *