1
resposta

Resolução do problema "pais: none"

Tive um problema em que, mesmo replicando o código da instrutora na mesma base, a coluna de país retornava todos como "None". Vi que um colega teve esse mesmo problema, acabei resolvendo-o no meu e agora estou compartilhando a solução para quem tiver o mesmo problema:

A questão é que estamos comparando valores de tipos bastante diferentes. Diferentemente do vídeo, o IP do dataset fraude_DF está sendo importado com tipo "float64", não como "int64". Então, quando transformamos o limite_inferior_ip em apenas "int", passamos a comparar fraude_df[ip] (float64) com ISP_df[limite_inferior_ip] (int32) com ISP_df[ISP_df.limite_superior_ip] (int64), o que causa o erro.

A solução mais prática que encontrei é, já que IP e limite_inferior_ip já são float64, é transformar limite_superior_ip em float64 e igualar os tipos (tudo o que o NumPy vai fazer é adicionar a capacidade do valor de ter zeros após a vírgula, mas não alterará os valores de forma alguma.

A resolução desse problema funciona com o código abaixo (e não se esqueça de não usar o código de conversão para int):

ISP_df.limite_superior_ip = ISP_df.limite_superior_ip.astype(np.float64)
ISP_df.dtypes
1 resposta

Oii Rodrigo, tudo certinho por ai? Espero que sim!

Primeiramente, desculpa a demora em te dar um retorno por aqui.

Testei sua solução por aqui no meu código e deu certinho também! Sua solução é simples e muito eficaz, tenho certeza de que já ajudou e vai ajudar ainda mais alunos e alunas por aqui. Muito obrigada por ter compartilhado conosco de uma forma detalhada e didática como resolver o problema de países com valor nulo ou sem valor.

Sempre que tiver considerações sobre os cursos, algum problema nos projetos ou alguma solução, como essa, pode compartilhar conosco por aqui, ok?

Bons estudos ^^