- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 3 anos, 3 meses atrás por .
Visualizando 3 posts - 1 até 3 (de 3 do total)
Visualizando 3 posts - 1 até 3 (de 3 do total)
- Você deve fazer login para responder a este tópico.
Home › Fóruns › Fórum Machine Learning e Data Science com Python de A à Z › OneHotEncoder
Marcado: Aula de OneHotEncoder
Bom dia professor, você poderia me ajudar?
Gostaria de fazer um OneHotEncoder de uma coluna, mas a mesma possuem vários valores em forma de lista.
Ex:
| Coluna |
|A; C; D |
|B;A |
|C |
| D; A |
qualquer seria a melhor forma de fazer
Olá Guilherme, tente utilizar o MultiLabelBinarizer(). Veja um exemplo nessa discussão:
https://stackoverflow.com/questions/50030751/how-do-i-use-onehotencoder-on-a-pandas-series-of-lists
Fabio
Olá Guilherme, segue um complemento do instrutor Denny:
Teria que implementar seu próprio código para isso. Você poderia:
1) juntar todos os valores possíveis em uma variável auxiliar, por exemplo algo do tipo (supondo que sua coluna col esteja em um dataframe df):
aux = set()
for entry in df[col]:
aux.update(entry)2) montar cada nova coluna com base na variável auxiliar, e alimentar ela com o valor 1 se ela aparece na coluna original, 0 se não aparece:
for val in list(aux):
temp = []
for i in range(len(df)):
temp.append(1 if val in df[col][i] else 0)
df[val] = temp
Fabio