Na marca 4:23 do vídeo 4, a instrutora fala que houve um erro de nomenclatura. Aparentemente ela corrigiu, ficou 11 segundos em silêncio e seguiu sem a explicação do que era.
O problema é que o código do vídeo pré-correção é exatamente o que está na transcrição (que inclusive tem um erro extra (quarta linha, tmp_df[id_por_dispositivo"] tem aspas faltando)
Para que ninguém mais perca tempo assim como eu o fiz, o "errinho de nomenclatura" é a substituição do colchete por parênteses em groupby.
tmp_df = pd.DataFrame(columns=("fraude","id_por_dispositivo","id_por_ip"))
tmp_df["fraude"] = fraude_df["fraude"]
userid_count = fraude_df.groupby("id_dispositivo").id.count()
tmp_df["id_por_dispositivo"] = fraude_df.id_dispositivo.apply(lambda x: userid_count[x])
userid_count2 = fraude_df.groupby("ip").id.count()
tmp_df["id_por_ip"] = fraude_df.ip.apply(lambda x: userid_count2[x])
Pô, pessoal da Alura. A sacada aqui é que vocês sejam facilitadores. Não acho que custa muito deixar uma colinha funcional de lado na hora de fazer um vídeo. O primeiro dataset oferecido pela instrutora sequer está completo. A versão usada por ela só aparece no segundo "módulo". O último erro que encontrei havia sido perguntado por um colega há 6 meses e não havia qualquer resposta. Agora mais isso, que é coisa besta.
Sacanagem a gente gastar 1.000 reais pra ficar caçando erro.