No momento em que criamos a lista colunas binárias, estamos selecionando colunas que tem 3 valores, sendo eles 'Sim, Não e semserviçotelefônico'. o when(f.col(c)=='Sim', 1).otherwise(0)
Coloca o número 0 para todos valores diferentes de 'Sim', isso não prejudica a análise, por considerar pessoas que não tem o serviço telefônico e pessoas que não tem mais de uma linha telefônica, façam parte do mesmo grupo?