Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Importando dados HTML para o Colab

Olá. Estava realizando os desafios de um dos cursos que pedia a importação de uma tabela da wikipédia para o Colab. Consegui realizar a importação com seguinte código:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O retorno ao realizar execução da última celula foi o seguinte:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Uma vez que o dataframe estava em formato .csv pensei em aplicar alguns dos conhecimentos adquiridos nos cursos anteriores.

Tentei criar um novo dataFrame somente com as populações que possuiam 100 000 habitantes ou mais. Então fiz o seguinte código:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E obtive um TypeError: '>' not supported between instances of 'str' and 'int'. Depois disso pensei que a coluna [Estimativa da ONU] possuia valores do tipo string e não poderia realizar uma operação envolvendo operadores relacionais como o [>]

Então tentei traformar os valores da coluna em questão para inteiros e fiz a seguinte código: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E então o retono é um erro do tipo: ValueError.

Então essa é a minha dúvida, como fazer para a coluna [Estimativa da ONU] se tornar capaz de operar com operadoes relacionais?

1 resposta
solução!

Oi.

Pra lidar com isso, você precisa garantir que os valores na coluna "Estimativa da ONU" sejam convertidos corretamente para números antes de realizar comparações. Aqui estão alguns passos que você pode seguir:

  1. Verifique os tipos de dados: Antes de converter, confirme se todos os valores na coluna são realmente números. Pode haver casos em que há strings que não representam números. Use a função pd.to_numeric para converter a coluna para números e lidar com casos inválidos.

    df['Estimativa da ONU'] = pd.to_numeric(df['Estimativa da ONU'], errors='coerce')
    

    Isso converterá os valores para números e definirá os casos inválidos como NaN (Not a Number).

  2. Remova linhas com NaN: Se houver NaN após a conversão, você pode remover as linhas correspondentes, já que elas não são úteis para comparações numéricas.

    df = df.dropna(subset=['Estimativa da ONU'])
    
  3. Converta para inteiros: Agora, você pode converter os valores restantes para inteiros.

    df['Estimativa da ONU'] = df['Estimativa da ONU'].astype(int)
    

Agora, sua coluna deve estar pronta para operações numéricas, incluindo comparações usando > ou <. Certifique-se de realizar essas etapas na ordem correta no seu código.