3
respostas

Criar colunas com valores de um dicionário em coluna do DataFrame

Bom dia. Estou com dificuldade em criar uma coluna que receberá o value() referente a um dicíonário que está na coluna de um DataFrame. Segue imagem para ilustrar.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Gostaria de criar uma coluna para cada chave do dicionário na coluna competences e inserir no registro o valor. Exemplo: Considerando o registro id=0, quero acessar as chaves 'c1', 'c2', 'c3', 'c4', 'c5', criar uma nova coluna para cada chave e inserir o valor correspondente nas linhas de registro.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Agradeço se alguém puder ajudar.

3 respostas

Oi, Anderson! Como vai?

Você pode tratar esse dicionário como um json e normalizar com o método json_normalize.

Dá uma olhadinha no curso de Pandas: limpeza e tratamento de dados ou Pandas: transformação e manipulação de dados. A normalização já é feita na primeira aula, e as explicações de Mirla e Bruno são ótimas!

Espero que tenha te dado uma luz, Anderson! Bons estudos.

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Agradecido Larissa Dubiella.

Meu real problema envolve a seleção de features para treinar um modelo de regressão para meu problema. Eis o motivo para separar os registros do dicionário em colunas. Outro ponto. Encontrei uma solução para a separação e criação das colunas usando um tal de flatten_json. Pode ser uma saída também.

Entendi, Anderson!

Que bom que você encontrou a solução. Não conhecia a biblioteca flatten_json, tem uma proposta bem interessante para casos como esse.

Espero que dê tudo certo por aí, conte conosco :)