Questão nº 93
Questão de Ciência de Dados · FGV TCE-PA 2024 (nº 93)
Considere a biblioteca Pandas e o trecho de código a seguir:
import pandas as pd
data = {'Cidade': ['Parauapebas', 'Marabá', 'Altamira'], 'Região': ['I', 'II', 'II'], 'Jan': [150, 395, 300], 'Fev': [275, 195, 250], 'Mar': [250, 280, 200]}
df = pd.DataFrame(data, columns=['Cidade','Região','Jan', 'Fev','Mar'])
print(df.groupby('Região')[['Jan', 'Fev', 'Mar']].mean().iloc[1,2])
Assinale a opção que apresenta o valor numérico exibido como saída ao comando print.
- A195.0
- B240.0 (alternativa correta)
- C275.0
- D225.0
- E250.0
Resposta comentada
Gabarito Alternativa B
A função groupby() no Pandas é utilizada para agrupar linhas de um DataFrame com base em valores de uma ou mais colunas, permitindo aplicar operações de agregação como a média (mean()) a cada grupo. O método iloc[] serve para selecionar dados por sua posição numérica (índice inteiro) no DataFrame resultante, onde iloc[linha, coluna] acessa um valor específico.
Para resolver a questão, seguimos os passos:
-
Criação do DataFrame
df:Cidade Região Jan Fev Mar 0 Parauapebas I 150 275 250 1 Marabá II 395 195 280 2 Altamira II 300 250 200 -
Agrupamento por 'Região' e cálculo da média para 'Jan', 'Fev', 'Mar':
- Região 'I': Apenas a linha 0.
- Jan: 150
- Fev: 275
- Mar: 250
- Região 'II': Linhas 1 e 2.
- Jan: (395 + 300) / 2 = 347.5
- Fev: (195 + 250) / 2 = 222.5
- Mar: (280 + 200) / 2 = 240.0
O DataFrame resultante do
groupby().mean()é:Jan Fev Mar Região I 150.0 275.0 250.0 II 347.5 222.5 240.0 - Região 'I': Apenas a linha 0.
-
Seleção com
iloc[1,2]:1: Refere-se à segunda linha (índice 1), que corresponde à 'Região' 'II'.2: Refere-se à terceira coluna (índice 2), que corresponde à coluna 'Mar'.
O valor na interseção da segunda linha e da terceira coluna é 240.0.
(A) Incorreta: Este é o valor individual de 'Fev' para Marabá (Região II), não a média da coluna 'Mar' para a Região 'II'.
(B) Correta: Após agrupar por 'Região' e calcular a média, o valor da média de 'Mar' para a 'Região' 'II' (iloc[1,2]) é 240.0.
(C) Incorreta: Este é o valor da média de 'Fev' para a 'Região' 'I', ou o valor individual de 'Fev' para Parauapebas, não o resultado correto.
(D) Incorreta: Este valor (225.0) é próximo da média de 'Fev' para a 'Região' 'II' (que é 222.5), mas não é o valor da coluna 'Mar'.
(E) Incorreta: Esta é a média de 'Mar' para a 'Região' 'I' (iloc[0,2]), ou o valor individual de 'Fev' para Altamira, mas a questão pede o valor da 'Região' 'II' na coluna 'Mar'. A armadilha aqui é confundir a linha 0 com a linha 1 no iloc ou a coluna 'Fev' com 'Mar'.
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Administrativa - Ciência de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.