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