Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Função ip_para_pais

Eu não consegui entender como a função consegue retornar o nome de cada país condicionalmente.

def ip_para_pais(ip):
  tmp = ISP_df[(ISP_df.limite_inferior_ip <= ip) & (ISP_df.limite_superior_ip >= ip)].pais
  if tmp.shape[0] == 1:
    return tmp.iloc[0]
  elif tmp.shape[0] < 1:
    return print('Faltando')
  elif tmp.shape[0] > 1:
    return print('Erro')

fraude_df['pais'] = fraude_df.ip.apply(ip_para_pais)
1 resposta
solução!

Oi Igor! Tudo bem com você? Espero que sim!

No início do código, a instrutora inclui os dois bancos de dados que serão utilizados, entre eles, temos um que a variável se chama ISP_df, e se você abrir o arquivo csv dele, vai notar que ele contém 3 colunas, a primeira e a segunda são os limites inferior e superior do IP, respectivamente, e a última coluna é a coluna país, como você pode ver no código abaixo.

# início do código
ISP_df.head()

A resposta obtida pode ser vista aqui:

limite_inferior_iplimite_superior_ippais
01.67772e+071.67775e+07Australia
11.67775e+071.67777e+07China
21.67777e+071.67782e+07China
31.67782e+071.67793e+07Australia
41.67793e+071.67813e+07China

Então as duas primeiras colunas definem quais os limites de IP o país terá, e você pode ver que essas 5 primeiras linhas variam apenas entre Austrália e China, porém os valores estão em exponencial e fica um pouco mais complicado de ver quais são esses limites, para solucionar esse problema, você pode abrir o arquivo .csv no seu computador, por exemplo, e verá algo dessa forma:

limite_inferior_iplimite_superior_ippais
01677721616777471Australia
11677747216777727China
21677772816778239China
31677824016779263Australia
41677926416781311China

Note que os valores são diferentes em 1 casa decimal, por exemplo o limite superior da linha 0 (16777471) e o limite inferior da linha 1 (16777472). Essa tabela, junto com a outra, faz com que a gente consiga fazer uma análise completa de detecção de fraude, sabendo qual país está acessando e depois fazer as demais análises do curso.

Eu espero ter te ajudado! Se surgir outra dúvida estarei à disposição.

Bons estudos!

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