Pular para o conteúdo principal

Questão de TI - Ciência de Dados e Inteligência Artificial — Pandas — CESPE / CEBRASPE 2024

TI - Ciência de Dados e Inteligência ArtificialPandas
Código
ce403788
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2024
Cargo
AJ

import pandas as pd


df = pd.DataFrame({
   'Nome': ['Alice', 'Maria', 'Ana'],
   'Idade': [25, 30, 35],
   'Disciplina': ['Direito', 'Direito', 'Direito'],
   'Situacao': ['Aprovada', 'Reprovada', 'Aprovada']
})


colunas_interesse = ['Nome', 'Situacao']
tabela = df[colunas_interesse].values.tolist()
print(tabela[0][0])

Com base no código precedente, julgue o item que se segue, relativo à linguagem de programação Python, considerando que o ambiente em uso possua as bibliotecas necessárias instaladas. Ao se executar esse trecho de código, será exibido o resultado a seguir. ['Alice', 'Aprovada']
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Pandas: seleção de colunas e conversão para lista

Gabarito: ERRADO. O código não exibe ['Alice', 'Aprovada']; ele imprime apenas Alice. A confusão está em tabela[0][0]: tabela é uma lista de listas (cada linha do DataFrame filtrado), então tabela[0] é a primeira linha (['Alice', 'Aprovada']) e tabela[0][0] acessa o primeiro elemento dessa linha, que é a string 'Alice'. Para exibir a lista inteira, o comando correto seria print(tabela[0]).

O trecho de código trabalha com a biblioteca pandas, amplamente usada em ciência de dados. Vamos entender cada parte:

  1. Criação do DataFrame: pd.DataFrame({...}) constrói uma tabela com as colunas Nome, Idade, Disciplina e Situacao, contendo três registros (Alice, Maria e Ana).

  2. Seleção de colunas: df[colunas_interesse] retorna um novo DataFrame contendo apenas as colunas Nome e Situacao.

  3. Conversão para lista: .values.tolist() transforma esse DataFrame em uma lista de listas, onde cada lista interna representa uma linha. O resultado é [['Alice', 'Aprovada'], ['Maria', 'Reprovada'], ['Ana', 'Aprovada']].

  4. Acesso a elementos: tabela[0] retorna a primeira linha (['Alice', 'Aprovada']), e tabela[0][0] retorna o primeiro elemento dessa linha, ou seja, 'Alice'.

A pegadinha está em confundir o acesso a uma linha inteira com o acesso a um elemento específico. O comando print(tabela[0][0]) imprime apenas o valor Alice, não a lista ['Alice', 'Aprovada']. Para imprimir a lista completa, seria necessário print(tabela[0]).

NÃO CAIA NESSA!

A banca explora a confusão entre tabela[0] (a linha inteira) e tabela[0][0] (o primeiro elemento da linha). O candidato desatento lê tabela[0] e assume que o print exibirá a lista, mas o código acessa dois índices, retornando apenas a string 'Alice'. Fique atento à quantidade de colchetes: cada [índice] aprofunda um nível na estrutura.

  1. 1tabela[0] → primeira linha
  2. 2tabela[0][0] → primeiro elemento
  3. 3print exibe 'Alice'
LEVEL · soulevel.com.br

Item — ❌ ERRADO

A afirmativa diz que será exibido ['Alice', 'Aprovada'], mas o código executa print(tabela[0][0]). Como tabela[0] é ['Alice', 'Aprovada'], tabela[0][0] é 'Alice'. Portanto, o resultado exibido é apenas Alice, sem os colchetes e sem o segundo elemento. A afirmativa está incorreta.

Gabarito: ERRADO

Link permanente: /questoes/ce403788