Olá ! Passando para compartilhar uma forma alternativa de fazer o replace para o tratamento dos dados!
para identificar os não numéricos utilizei a Regex '\D'.
o método replace recebe um dicionário {'(\d{1,2})' : '','.' : ''} como todas as tratativas, onde a chave contém a expressão e o valor recebe o conteúdo a ser substituído, com isso em um mesmo replace faço as duas substituições
populacao_estados['populacao']=populacao_estados['POPULAÇÃO'].replace({'(\d{1,2})':'','.':''},regex=True).astype('int64')
populacao_estados[populacao_estados['POPULAÇÃO'].str.contains('\D').notna()]
Espero ter contribuído!
Abraços