Pandas: como usar factorize() para codificar strings como números
A função pandas factorize() pode ser usada para codificar strings como valores numéricos.
Você pode usar os seguintes métodos para aplicar a função factorize() às colunas de um DataFrame do pandas:
Método 1: fatorar uma coluna
df[' col1 '] = pd. factorize (df[' col '])[0]
Método 2: fatorar colunas específicas
df[[' col1 ', ' col3 ']] = df[[' col1 ', ' col3 ']]. apply ( lambda x: pd.factorize (x)[ 0 ])
Método 3: fatorar todas as colunas
df = df. apply ( lambda x: pd.factorize (x)[ 0 ])
O exemplo a seguir mostra como usar cada método com o seguinte DataFrame do pandas:
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
Exemplo 1: fatorar uma coluna
O código a seguir mostra como fatorar uma coluna no 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
Observe que apenas a coluna ‘conf’ foi fatorada.
Todo valor que era “Oeste” agora é 0 e todo valor que era “Leste” agora é 1.
Exemplo 2: Fatorar colunas específicas
O código a seguir mostra como fatorar colunas específicas no 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
Observe que as colunas “conf” e “team” foram fatoradas.
Exemplo 3: fatorar todas as colunas
O código a seguir mostra como fatorar todas as colunas no 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
Observe que todas as colunas foram fatoradas.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:
Como converter colunas Pandas DataFrame em strings
Como converter uma variável categórica em numérica no Pandas
Como converter colunas Pandas DataFrame em inteiros