import pandas as pd
def retornar_outliers(df, id, coluna):
q1 = df[coluna].quantile(.25)
q3 = df[coluna].quantile(.75)
iqr = q3 - q1
li = q1 - 1.5 * iqr
ls = q3 + 1.5 * iqr
idx_outliers = (df[coluna] < li) | (df[coluna] > ls)
df_outliers = df[idx_outliers][[id, coluna]]
return(df_outliers)
# criando um DataFrame com 30 transações aleatórias
df = pd.DataFrame({
'ID da transação': range(1, 31),
'Valor da transação': [100, 200, 150, 500, 300, 913, 250, 400, 200, 150,
200, 200, 400, 300, 150, 301, 805, 300, 400, 250,
150, 100, 500, 600, 200, 350, 100, 250, 800, 250],
'Data da transação': pd.date_range(start='2022-01-01', end='2022-01-30', freq='D'),
'Local da transação': ['São Paulo, Brasil', 'Rio de Janeiro, Brasil', 'Belo Horizonte, Brasil', 'São Paulo, Brasil',
'São Paulo, Brasil', 'Nova Iorque, EUA', 'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil',
'Rio de Janeiro, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil',
'São Paulo, Brasil', 'São Paulo, Brasil', 'Los Angeles, EUA', 'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil',
'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil', 'São Paulo, Brasil',
'São Paulo, Brasil', 'São Paulo, Brasil', 'Miami, EUA', 'São Paulo, Brasil']
})
retornar_outliers(df, 'ID da transação', 'Valor da transação')