O erro de código utf-8 geralmente ocorre quando o intervalo de valores numéricos excede de 0 a 127.
o motivo para gerar essa exceção é:
1) Se o ponto de código for <128, cada byte será igual ao valor do ponto de código. 2) Se o ponto de código for 128 ou superior, a cadeia Unicode não poderá ser representada nessa codificação. (Python gera uma exceção UnicodeEncodeError neste caso.)
Para superar isso, temos um conjunto de codificações, a mais utilizada é "Latin-1, também conhecida como ISO-8859-1"
Portanto, os pontos Unicode ISO-8859-1 de 0 a 255 são idênticos aos valores do Latin-1, portanto, a conversão para essa codificação requer simplesmente a conversão de pontos de código em valores de bytes; se um ponto de código maior que 255 for encontrado, a sequência não poderá ser codificada em Latin-1
quando essa exceção ocorre quando você está tentando carregar um conjunto de dados, tente usar este formato
df=pd.read_csv("top50.csv",encoding='ISO-8859-1')
Adicione a técnica de codificação no final da sintaxe, que aceita o carregamento do conjunto de dados.