Abaixo segue a minha resolução.
def identifica_outliers(col_name: str, data: pd.DataFrame) -> pd.Series:
"""Mostra quais dados são outliers, em uma coluna em um dataframe especificado"""
Q1 = data[col_name].quantile(q=.25)
Q3 = data[col_name].quantile(q=.75)
IQR = Q3 - Q1
upper_bound = Q3 + 1.5 * IQR
lower_bound = Q1 - 1.5 * IQR
outliers_mask: pd.Series = (data[col_name] > upper_bound) | (data[col_name] < lower_bound)
outliers = data.loc[outliers_mask, col_name]
return outliers
Como faço para que, o retorno seja a visualização em tabela como mostrado no desafio? Na forma como consegui fazer vejo apenas os registros:
5 913
16 805
28 800
Name: Valor da transação, dtype: int64
Ao fazer da forma como estava no desafio, eu estaria criando apenas uma visualização ou ao utilizar a função com outras manipulações eu alteraria o df original?