1
resposta

O código utilizado não é efetivo

Olá,

Estava analisando a proposta e o código utilizando para solucionar o problema. No meu ver o código utilizado é inefetivo para o problema, pois ao rodarmos o código :

> sums_nf = fraud_df[fraud_df[“fraude”]==0 [“fraude”].groupby(fraud_df.pais).sum()
sums_nf = sums_nf.to_frame().reset_index()

E verificarmos os retornos, todos os países recebem o atributo zero, ou seja, ao plotarmos o gráfico de barras para verificarmos quais os países que estão menos envolvidos em fraudes temos um lista gigante com todos os países que já realizaram compras, e não necessariamente não estão envolvidos com fraudes.

A solução por mim encontrada foi: Somar todas as transações não fraudulentas por país, excluir os países que tem fraude dessa lista. Assim teríamos uma lista de países que não possuem histórico de fraude e com possibilidades de campanhas de vendas.

Podem me ajudar com o código para realizar isso?

Eu consegui apenas contabilizar o total de transações não fraudulentas com o seguinte código:

>sums_nf = fraude_df[fraude_df['fraude'] == 0]['fraude'].groupby(fraude_df.pais).count()
sums_nf = sums_nf.to_frame().reset_index()
1 resposta

Olá Bruno, tudo bem ?

Desculpa pela demora no retorno.

Você está correto, o sum vai funcionar para calcular as fraudes por país porque quando a fraude for verdadeira, que é representado pelo numero 1, vamos somar vários uns. Mas no desafio vamos olhar para as não fraudes, que são representadas pelo zero, então o sum vai somar diversos zeros. Se utilizamos o count que você sugeriu vamos conseguir contar as linhas e teremos o resultado independente se ele foi representado por uns ou zeros.

Fiz alguns testes para exemplificar:

count e sum tendo o mesmo resultado quando fraude == 1

código da aula utilizando a função sum e exibindo um dataframe onde o primeiro País o Afeganistan teve uma fraude. Na célula seguinte o mesmo código da aula só que agora utilizando count e temos também que o Afeganistan teve apenas uma fraude

count e sum tendo resultados diferentes quando fraude == 0

código da aula utilizando a função sum e exibindo um dataframe onde o primeiro País o Afeganistan teve zero não fraudes. Na celular seguinte o mesmo código da aula só que agora utilizando count e temos tambem que o Afeganistan teve apenas 5 não fraudes

Espero ter ajudado a esclarecer esse ponto e obrigado por avisar, vamos corrigir a solução da aula.

Qualquer duvida não hesite em perguntar. Bons estudos :D