Questão nº 26

Questão de Recursos Energéticos · FGV EPE 2024 (nº 26)

FGV2024Analista de Pesquisa Energética - Recursos EnergéticosRecursos Energéticos
Gabarito: Dver comentário ↓

Considere o código a seguir, escrito na linguagem de programação Python (versão 3.11.3).

```
<1> import pandas as pd
<2> x = {"0": pd.Series([1.0, 2.0], index=["a", "b"]),
<3> "1": pd.Series([3.0, 4.0, 5.0], index=["a", "b", "c"])}
<4> x = pd.DataFrame(x)
<5> y = x["1"][:2].iloc[-1]
```

Assinale a opção que indica o valor que y recebe na linha <5>.

Resposta comentada

Gabarito Alternativa D

O conceito-chave aqui é a manipulação de dados com a biblioteca Pandas em Python, especificamente como DataFrames e Series são criados, como as colunas são selecionadas, e como a indexação (seleção de elementos) funciona, tanto por posição (iloc) quanto por rótulo (loc ou indexação direta).

  • (A) Incorreta: O valor 1.0 pertence à coluna "0", que não é a coluna selecionada na linha <5>.
  • (B) Incorreta: O valor 2.0 pertence à coluna "0", que não é a coluna selecionada na linha <5>.
  • (C) Incorreta: Este seria o primeiro elemento da Series x["1"][:2]. A armadilha aqui é confundir iloc[-1] (o último elemento) com iloc[0] (o primeiro elemento), ou pensar que a fatia [:2] de alguma forma levaria apenas ao primeiro elemento.
  • (D) Correta: Vamos analisar a linha <5> passo a passo:
    1. x = pd.DataFrame(x): O DataFrame x é criado. Ele alinha as Series pelos seus índices. Onde um índice não existe em uma Series, NaN (Not a Number) é inserido.
            0    1
      a   1.0  3.0
      b   2.0  4.0
      c   NaN  5.0
      
    2. x["1"]: Seleciona a coluna de rótulo "1". Isso retorna uma Series:
      a    3.0
      b    4.0
      c    5.0
      Name: 1, dtype: float64
      
    3. x["1"][:2]: Realiza um fatiamento posicional (como em listas Python) na Series resultante. [:2] significa "do início até a posição 2, excluindo a posição 2". As posições são 0 (para 'a') e 1 (para 'b').
      a    3.0
      b    4.0
      Name: 1, dtype: float64
      
    4. .iloc[-1]: Aplica o indexador iloc (integer-location based indexing) para selecionar o elemento pela sua posição inteira. -1 significa o último elemento. Na Series a 3.0, b 4.0, o último elemento (posição 1) é 4.0.
      Portanto, y recebe o valor 4.0.
  • (E) Incorreta: NaN aparece no DataFrame x na posição x.loc['c', '0']. A coluna "1" não contém NaN e o fatiamento e seleção não resultam em NaN.

Fonte: FGV EPE 2024 Analista de Pesquisa Energética - Recursos Energéticos (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