def detect_outliers(df): result = {} for col in df.select_dtypes( include="number" ).columns: q1 = df[col].quantile(0.25) q3 = df[col].quantile(0.75) iqr = q3 - q1 lower = q1 - 1.5 * iqr upper = q3 + 1.5 * iqr count = len( df[ (df[col] < lower) | (df[col] > upper) ] ) result[col] = count return result