Questão nº 99

Questão de Tecnologia da Informação · FGV CGE-SP 2025 (nº 99)

FGV2025Auditor Estadual de Controle - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Bver comentário ↓

Um cientista de dados utiliza a linguagem Python e a biblioteca Pandas para processar um dataset de despesas da Controladoria. Ele precisa realizar uma operação que combine dados de dois DataFrames (despesas_2023 e despesas_2024) com base em uma coluna-chave comum (ID_Gestor), mas o novo DataFrame resultante deve incluir apenas os registros que possuem correspondência em ambos os DataFrames.
Assinale a opção que indica a operação fundamental do Pandas, análoga a uma operação de join em SQL, que deve ser usada para alcançar esse resultado, que inclui apenas a intersecção dos registros.

Resposta comentada

Gabarito Alternativa B

Para combinar dados de diferentes tabelas (DataFrames) em Python com Pandas, usando uma coluna em comum, e obter apenas os registros que existem em ambos os DataFrames (a intersecção), usamos uma operação de merge com o tipo "inner".

  • (A) Incorreta: pd.concat() empilha DataFrames verticalmente ou horizontalmente, não realiza uma combinação baseada em uma coluna-chave para encontrar a intersecção.
  • (B) Correta: pd.merge() é a função do Pandas para combinar DataFrames de forma análoga a um join em SQL. O argumento how='inner' especifica um inner join, que retorna apenas as linhas que possuem valores correspondentes na coluna-chave em ambos os DataFrames, exatamente o que a questão pede para a intersecção.
  • (C) Incorreta: pd.merge() com how='left' realiza um left join, que inclui todas as linhas do DataFrame esquerdo e apenas as correspondentes do direito, não sendo a intersecção pura.
  • (D) Incorreta: Embora exista pd.DataFrame.join(), ela é mais comum para combinar por índice ou com uma chave específica, mas a combinação com pd.apply() para "intersecção manual" seria ineficiente e não a operação fundamental para esse fim. A armadilha aqui é a menção de "join", que pode levar a crer que pd.join() é a resposta, mas a forma como é proposta (com apply para "intersecção manual") a torna errada e ineficiente, sendo pd.merge() a ferramenta correta e idiomática.
  • (E) Incorreta: pd.pivot_table() é usada para agregar e resumir dados, criando tabelas dinâmicas, e não para combinar DataFrames buscando a intersecção de registros.

Fonte: FGV CGE-SP 2025 Auditor Estadual de Controle - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho