Convertendo uma coluna do Pandas Dataframe em um hot label
Eu tenho um dataframe de pandas semelhante a este:
Col1 ABC
0 XYZ A
1 XYZ B
2 XYZ C
Usando os pandasget_dummies()
função na coluna ABC, eu posso obter isso:
Col1 A B C
0 XYZ 1 0 0
1 XYZ 0 1 0
2 XYZ 0 0 1
Enquanto eu preciso de algo assim, onde a coluna ABC tem umlist / array
tipo de dados:
Col1 ABC
0 XYZ [1,0,0]
1 XYZ [0,1,0]
2 XYZ [0,0,1]
Eu tentei usar oget_dummies
função e, em seguida, combinando todas as colunas na coluna que eu queria. Encontrei muitas respostas explicando como combinar várias colunas como seqüências de caracteres, assim:Combine duas colunas de texto no dataframe em pandas / python. Mas não consigo descobrir uma maneira de combiná-los como uma lista.
Esta questão introduziu a ideia de usar o sklearnOneHotEncoder
, mas não consegui fazê-lo funcionar.Como codifico uma coluna a quente de um quadro de dados do pandas?
Mais uma coisa: todas as respostas que encontrei tinham soluções em que os nomes das colunas tinham que ser digitados manualmente enquanto os combinavam. Existe uma maneira de usarDataframe.iloc()
ou mecanismo de emenda para combinar colunas em uma lista?