Pandy: jak używać factorize() do kodowania ciągów znaków jako liczb
Funkcji pandasfactorize () można używać do kodowania ciągów znaków jako wartości numerycznych.
Aby zastosować funkcję faktoryzacji() do kolumn ramki DataFrame pandy, możesz użyć następujących metod:
Metoda 1: Rozłóż kolumnę na czynniki
df[' col1 '] = pd. factorize (df[' col '])[0]
Metoda 2: Kolumny specyficzne dla czynników
df[[' col1 ', ' col3 ']] = df[[' col1 ', ' col3 ']]. apply ( lambda x: pd.factorize (x)[ 0 ])
Metoda 3: Uwzględnij wszystkie kolumny
df = df. apply ( lambda x: pd.factorize (x)[ 0 ])
Poniższy przykład pokazuje, jak używać każdej metody z następującą ramką DataFrame pand:
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
Przykład 1: Rozłóż kolumnę na czynniki
Poniższy kod pokazuje, jak uwzględnić kolumnę w ramce 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
Należy pamiętać, że uwzględniona została tylko kolumna „conf”.
Każda wartość, która była „Zachodem”, ma teraz wartość 0, a każda wartość, która była „Wschodem”, ma teraz wartość 1.
Przykład 2: Kolumny specyficzne dla współczynnika
Poniższy kod pokazuje, jak uwzględnić określone kolumny w ramce 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
Należy pamiętać, że kolumny „conf” i „team” zostały uwzględnione.
Przykład 3: Uwzględnij wszystkie kolumny
Poniższy kod pokazuje, jak rozłożyć na czynniki wszystkie kolumny w ramce 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
Należy pamiętać, że wszystkie kolumny zostały rozłożone na czynniki.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:
Jak przekonwertować kolumny Pandas DataFrame na ciągi
Jak przekonwertować zmienną kategorialną na numeryczną w Pandach
Jak przekonwertować kolumny Pandas DataFrame na liczbę całkowitą