Questão nº 61
Questão de Tecnologia da Informação · CESGRANRIO BB 01/2022 (nº 61)
Em uma base de dados (dataset) com avaliações sobre a qualidade de um determinado produto, o campo stars tem um valor de 1 a 5. Na fase de pré-processamento, decidiu-se criar o campo sentimento com valores bom ou ruim, e utilizando-se da biblioteca NumPy, escreveu-se o comando abaixo:
```python
dataset['sentimento'] = np.where(dataset['stars'] >= 4, 'bom', 'ruim')
```
Quanto aos valores do campo sentimento, o referido comando atribuirá o valor
- Abom, para stars entre 2 e 5
- Bbom, para stars 4 e 5 (alternativa correta)
- Cbom, para stars 3 e 4
- Druim, para stars 4 e 5
- Eruim, para stars entre 1 e 4
Resposta comentada
Gabarito Alternativa B
O np.where funciona como um "se... então... senão" para arrays: ele testa a condição (dataset['stars'] >= 4), e onde a condição for verdadeira (stars 4 ou 5), coloca o primeiro valor ('bom'); onde for falsa (stars 1, 2 ou 3), coloca o segundo valor ('ruim').
- (A) Incorreta: stars entre 2 e 5 inclui 2 e 3, que são menores que 4, então receberiam
'ruim', não'bom'. - (B) Correta: a condição
>= 4é verdadeira apenas para stars 4 e 5, então esses recebem'bom'; stars 1, 2 e 3 recebem'ruim'. - (C) Incorreta: stars 3 é menor que 4, então recebe
'ruim', não'bom'; e stars 4 e 5 são'bom', mas a alternativa exclui o 5. - (D) Incorreta: stars 4 e 5 satisfazem
>= 4, então recebem'bom', não'ruim'. - (E) Incorreta: stars 4 não é "entre 1 e 4" (pois 4 >= 4), então recebe
'bom', não'ruim'; e stars 1, 2, 3 recebem'ruim', mas a alternativa mistura tudo.
Armadilha do distrator mais tentador (E): a banca inverte o raciocínio. Muita gente lê "entre 1 e 4" e pensa que inclui o 4, mas a condição é >= 4 (maior ou igual), então o 4 é bom, não ruim. O erro é confundir o limite superior do intervalo "ruim" (que vai até 3) com o valor 4.
Fonte: CESGRANRIO BB 01/2022 Escriturário - Agente de Tecnologia (Caderno Gabarito 1). Reproduzida para fins de estudo.