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
- exatamente os mesmos valores que a variável data.
- os mesmos valores que a variável data, com exceção de que o último valor de data é apagado.
- os mesmos valores que a variável data, com exceção de que o último valor de data é 0.
- 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