1
resposta

Filtrar linhas a partir de outro dataframe - Python

Bom dia pessoal, espero que estejam bem.

Estou tentando criar um novo dataframe a partir de uma condição comparando uma determinada coluna com outro dataframe, segue código para exemplificar.

DF3 = DF.loc[DF['Criterio1'] == (DF2['Criterio1'])]

O seguinte erro acontece. Por favor, poderiam me ajudar?

ValueError: Can only compare identically-labeled Series objects

1 resposta

Oi, Isaque, tudo bem?

Desculpe pelo tempo que aguardou por uma resposta.

O erro que você compartilhou ocorre quando tentamos comparar duas Series (colunas de um DataFrame) que não têm os mesmos índices ou possuem alguma outra diferença (como nome da coluna ou quantidade de dados).

Como não tenho acesso ao cenário completo do seu projeto, estarei trazendo algumas possíveis soluções para a resolução do seu problema:

  • Reordenar a coluna de um dos dataframes, utilizando o método reindex;
  • Renomear as colunas, caso possuam nomes diferentes;
  • Caso queira verificar se cada valor em DF['Criterio1'] existe em DF2['Criterio1'], pode usar o método isin;
  • Se o seu objetivo é mesclar as informações presentes em ambos os dataframes, pode-se utilizar o método merge.

Nos tópicos em que menciono um método da biblioteca Pandas, há também um link para você realizar a leitura sobre ele! Os textos estão em inglês, mas você pode traduzi-los para o nosso idioma clicando com o botão direito e escolhendo a opção "Traduzir para o português".

Ressalto que, por ser algo externo aos cursos da Alura, outros testes e pesquisas precisarão ser feitos a fim de obter o resultado esperado, mas espero ter trazido um ponto de partida para você, Isaque!

Um abraço.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!