Tópico https://cursos.alura.com.br/forum/topico-erro-no-codigo-227475 sugeriu (e seguiram com sua sugestão em https://cursos.alura.com.br/course/machine-learning-marketing-digital/task/52741) que o código fosse alterado
de:
for coluna in df.columns: print(coluna + ':' + str(len(df[coluna].unique())) if len(df[coluna].unique()) == 1: coluna_na.append(coluna)
df.drop(coluna_na,axis=1,inplace=True)
para:
for coluna in df.columns: print(coluna + ':' + str(df[coluna].nunique())) if df[coluna].nunique() == 1: coluna_na.append(coluna)
df.drop(coluna_na,axis=1,inplace=True)
... porque assim desconsideraria a contagem dos 'NaN' e teríamos mais colunas descartadas. Contudo, não se considerou na análise que campos binários ao invés de estarem preenchidos com 1/0, estão com 1/NaN.
No vídeo imediatamente posterior, é pedido que se usem os campos bounces e newVisits, mas eles foram deletados na etapa acima citada.