Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Alura Challenges - Visualização de colunas

Boa tarde,

Eu estava fazendo algumas modificações, mudança de tipos, e aconteceu uma coisa estranha. O interpretador não retorna o conteúdo das colunas depois das minhas mudanças. Primeiro eu troquei os valores No/ Yes e Male/ Female para números 0 e 1. A segunda mudança foi trocar os tipos object para int64. Esse é o retorno do interpretador quando eu tento observar os valores das colunas:

json_limpo['internet.InternetService']

Series([], Name: internet.InternetService, dtype: object)

As transformações foram feitas dessa maneira:

# Transformando algumas colunas
# Adequando os tipos para a utilização de machine learning
mapeamento = {'No': 0, 'Yes':1, 'Male': 0, 'Female': 1}
colunas = ['Churn', 'customer.gender', 'customer.Partner', 'customer.Dependents',
           'phone.PhoneService', 'phone.MultipleLines', 'internet.OnlineSecurity',
           'internet.OnlineBackup', 'internet.DeviceProtection', 'internet.TechSupport',
           'internet.StreamingTV', 'internet.StreamingMovies', 'account.PaperlessBilling']
json_limpo[colunas] = json_limpo[colunas].replace(mapeamento)
coluna_tipo = ['Churn','phone.MultipleLines', 'internet.OnlineSecurity',
                'internet.OnlineBackup', 'internet.DeviceProtection', 'internet.TechSupport',
                'internet.StreamingTV', 'internet.StreamingMovies']
index_nan = json_limpo[json_limpo[coluna_tipo] == ' '].index

json_limpo = json_limpo.drop(index_nan, axis = 0).copy()

json_limpo[coluna_tipo] = json_limpo[coluna_tipo].astype(np.int64)

O que eu faço para continuar visualizando os valores das colunas?

Obrigado!

2 respostas
solução!

Olá Eduardo, tudo bem?

O problema pode estar relacionado a alguns fatores, incluindo valores ausentes ou espaços em branco que não foram corretamente tratados antes de tentar converter os tipos de dados. Portanto, o que eu recomendo e que você revise os códigos referentes as transformações

Primeiro, certifique de que todos os valores nas colunas que você deseja converter para int64 . Por exemplo, verifique se há valores nulos ou espaços em branco nas colunas antes de convertê-las para int64. Você pode tentar usar o método str.strip() para garantir que todos os espaços em branco sejam removidos:

json_limpo[coluna_tipo] = json_limpo[coluna_tipo].apply(lambda x: x.str.strip())
index_nan = json_limpo[json_limpo[coluna_tipo].isin([''])].index
json_limpo = json_limpo.drop(index_nan, axis=0).copy()

Após garantir que não há valores inconsistentes, tente converter os tipos novamente:

json_limpo[coluna_tipo] = json_limpo[coluna_tipo].astype(np.int64)

Por fim, verifique novamente os dados para garantir que tudo está correto:

print(json_limpo[coluna_tipo].head())

Espero que isso ajude a resolver o problema e permita que você visualize os valores das colunas corretamente.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

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

Eu consegui mudar os tipos diretamente com o mapeamento!!

Obrigado pela resposta!!!