FC ConcursosFC Concursos

Questão FC266143

Os outliers geralmente representam dados com valores absurdos que representam erro nos dados coletados. Analise o seguinte código em Python: import numpy as np import pandas as pd

Linguagens de Programação

IDECAN · 2024

Os outliers geralmente representam dados com valores absurdos que representam erro nos dados coletados. Analise o seguinte código em Python:

import numpy as np

import pandas as pd

from scipy import stats

data = {'A':[1,2,3,4,5,6,7,8,9,10,1000]}

df = pd.DataFrame(data)

z_scores = np.abs(stats.zscore(df['A']))

threshold = 3

outlier_indices = np.where(z_scores) > threshold) [0]

clean_df = df.drof(outlier_indices)

 

É correto afirmar que a variável “clean_df” armazena

  1. exatamente os mesmos valores que a variável data.
  2. os mesmos valores que a variável data, com exceção de que o último valor de data é apagado.
  3. os mesmos valores que a variável data, com exceção de que o último valor de data é 0.
  4. os mesmos valores que a variável data, com exceção de que o último valor de data é 6.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A variável clean_df conterá os mesmos registros do dicionário data, exceto pelo último valor (1000), que é removido por ser identificado como outlier.

O processo é: calcula-se o z-score de cada elemento usando \(z=\frac{x-\bar{x}}{s}\). Com o threshold igual a 3, valores com |z|>3 são considerados outliers — no conjunto dado, 1000 tem z muito maior que 3.

A função np.where retorna os índices desses outliers e a operação de remoção com drop elimina as linhas correspondentes. Assim, clean_df passa a ter apenas os valores 1 a 10, sem o 1000.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo